fetching git input 'git+file:///etc/nixos' warning: Git tree '/etc/nixos' is dirty copying 1692 paths... copying path '/nix/store/06axsc4bdxsxlx1y6kg2ihmdrlj7hjx4-perl5.40.0-libnet-3.15' to 'local'... copying path '/nix/store/0531pzhm2c71i5kas0yk44xpx574064l-attr-2.5.2-doc' to 'local'... copying path '/nix/store/09ny9d8zs2ilm48mxb7ss8j721c7qlcc-net-snmp-5.9.4' to 'local'... ================== WARNING: ThreadSanitizer: heap-use-after-free (pid=3390829) Read of size 8 at 0x721c00fa87e8 by thread T13 (mutexes: write M0): #0 std::__cxx11::basic_string, std::allocator>::size() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:1072:16 (liblixstore.so+0x34ad66) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3185:33 (liblixstore.so+0x34ad66) #2 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (liblixstore.so+0x34ad66) #3 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (liblixstore.so+0x34ad66) #4 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (liblixstore.so+0x34ad66) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_lower_bound(std::_Rb_tree_node, std::allocator>>>*, std::_Rb_tree_node_base*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1952:7 (liblixstore.so+0x34ad66) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1271:16 (liblixstore.so+0x34ad66) #7 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1309:21 (liblixstore.so+0x34ad66) #8 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:509:17 (liblixstore.so+0x34ad66) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #12 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #13 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #15 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #16 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #18 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #19 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #20 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #23 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #24 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #25 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #26 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #27 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #28 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Previous write of size 8 at 0x721c00fa87e8 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #12 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #13 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #19 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #29 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #30 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #31 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #32 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #33 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: heap-use-after-free /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 in nix::StorePath::operator<(nix::StorePath const&) const ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040d45d8 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #4 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #5 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #7 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #8 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #9 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #18 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #34 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #35 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #36 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #37 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #38 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d45d8 by thread T16 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040d45c0 allocated by thread T16: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T16 'addMultipleToStore pool' (tid=3390910, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: heap-use-after-free (pid=3390829) Read of size 8 at 0x721c00fa87e0 by thread T13 (mutexes: write M0): #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (liblixstore.so+0x34ada4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:33 (liblixstore.so+0x34ada4) #2 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (liblixstore.so+0x34ada4) #3 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (liblixstore.so+0x34ada4) #4 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (liblixstore.so+0x34ada4) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_lower_bound(std::_Rb_tree_node, std::allocator>>>*, std::_Rb_tree_node_base*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1952:7 (liblixstore.so+0x34ada4) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1271:16 (liblixstore.so+0x34ada4) #7 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1309:21 (liblixstore.so+0x34ada4) #8 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:509:17 (liblixstore.so+0x34ada4) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #12 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #13 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #15 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #16 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #18 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #19 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #20 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #23 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #24 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #25 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #26 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #27 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #28 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Previous write of size 8 at 0x721c00fa87e0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #12 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #13 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #19 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #29 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #30 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #31 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #32 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #33 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: heap-use-after-free /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 in nix::StorePath::operator<(nix::StorePath const&) const ================== ================== WARNING: ThreadSanitizer: heap-use-after-free (pid=3390829) Read of size 8 at 0x7210040bb340 by thread T13 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (liblixstore.so+0x34adb3) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (liblixstore.so+0x34adb3) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (liblixstore.so+0x34adb3) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (liblixstore.so+0x34adb3) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (liblixstore.so+0x34adb3) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_lower_bound(std::_Rb_tree_node, std::allocator>>>*, std::_Rb_tree_node_base*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1952:7 (liblixstore.so+0x34adb3) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1271:16 (liblixstore.so+0x34adb3) #8 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1309:21 (liblixstore.so+0x34adb3) #9 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:509:17 (liblixstore.so+0x34adb3) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #13 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #14 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #16 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #18 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #19 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #21 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #22 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #23 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #24 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #25 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #26 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #27 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #28 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #29 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Previous write of size 8 at 0x7210040bb340 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #20 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #36 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #37 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #38 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #39 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #40 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: heap-use-after-free /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 in nix::StorePath::operator<(nix::StorePath const&) const ================== ================== WARNING: ThreadSanitizer: heap-use-after-free (pid=3390829) Read of size 8 at 0x721c00fa87d0 by thread T13 (mutexes: write M0): #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_lower_bound(std::_Rb_tree_node, std::allocator>>>*, std::_Rb_tree_node_base*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h (liblixstore.so+0x34ad53) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1271:16 (liblixstore.so+0x34ad53) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1309:21 (liblixstore.so+0x34ad53) #3 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:509:17 (liblixstore.so+0x34ad53) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #7 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #8 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #10 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #12 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #13 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #14 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #15 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #16 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #17 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #18 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #19 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #20 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #21 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #22 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #23 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Previous write of size 8 at 0x721c00fa87d0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #12 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #13 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #19 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #29 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #30 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #31 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #32 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #33 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: heap-use-after-free /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4d18 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #4 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #5 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #6 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4d18 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4d00 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4d10 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #4 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #5 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #6 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4d10 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4d00 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4d20 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #13 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #16 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #17 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #18 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #26 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #27 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #28 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #43 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #44 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #45 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #46 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #47 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4d20 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4d00 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c4d40 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #19 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #20 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #21 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #29 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #30 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #31 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #34 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #35 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #41 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #42 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #43 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #44 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #45 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #46 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #47 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #48 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #49 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #50 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4d40 by thread T13 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== error (ignored): error: interrupted by the user error (ignored): error: interrupted by the user error (ignored): error: interrupted by the user error (ignored): error: interrupted by the user error (ignored): error: interrupted by the user ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c4d00 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #10 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #13 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #14 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #15 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #23 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #24 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #25 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #40 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #41 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #42 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #43 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #44 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4d00 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040d45d0 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #4 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #5 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #7 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #8 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #9 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #18 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #34 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #35 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #36 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #37 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #38 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d45d0 by thread T16 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040d45c0 allocated by thread T16: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T16 'addMultipleToStore pool' (tid=3390910, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040d45e0 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #13 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #15 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #16 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #17 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #25 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #26 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #27 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #42 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #43 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #44 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #45 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #46 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d45e0 by thread T16 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040d45c0 allocated by thread T16: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T16 'addMultipleToStore pool' (tid=3390910, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040d4600 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #18 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #19 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #20 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #28 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #29 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #30 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #34 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #41 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #43 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #44 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #45 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #46 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #47 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #48 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #49 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d4600 by thread T16 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T16 'addMultipleToStore pool' (tid=3390910, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040d45c0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #10 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #12 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #13 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #14 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #23 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #24 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #39 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #40 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #41 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #42 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #43 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d45c0 by thread T16 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T16 'addMultipleToStore pool' (tid=3390910, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== error (ignored): error: interrupted by the user ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040d2880 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #17 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #18 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #19 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #27 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #28 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #29 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #43 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #44 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #45 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #46 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #47 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #48 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x7210040d2880 by thread T3 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (nix+0x1308a2) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (nix+0x1308a2) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (nix+0x1308a2) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (nix+0x1308a2) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (nix+0x1308a2) #6 std::_Rb_tree, std::less, std::allocator>::_M_get_insert_unique_pos(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2118:13 (nix+0x1308a2) #7 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2171:4 (nix+0x19cf38) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #10 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #12 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #13 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #15 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #16 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #18 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #19 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #20 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #23 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #24 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #25 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #26 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #27 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #28 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040d2858 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #11 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #12 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #13 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #22 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #23 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #38 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #39 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #40 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #41 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #42 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x7210040d2858 by thread T10 (mutexes: write M0): #0 std::_Rb_tree, std::less, std::allocator>::_M_get_insert_unique_pos(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h (nix+0x130856) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2171:4 (nix+0x19cf38) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T10 'addMultipleToStore pool' (tid=3390904, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040cf4c0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #16 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #17 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #18 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #26 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #27 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #28 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #43 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #44 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #45 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #46 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #47 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x7210040cf4c0 by thread T10 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (nix+0x1308a2) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (nix+0x1308a2) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (nix+0x1308a2) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (nix+0x1308a2) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (nix+0x1308a2) #6 std::_Rb_tree, std::less, std::allocator>::_M_get_insert_unique_pos(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2118:13 (nix+0x1308a2) #7 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2171:4 (nix+0x19cf38) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #10 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #12 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #13 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #15 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #16 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #18 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #19 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #20 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #23 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #24 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #25 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #26 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #27 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #28 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T10 'addMultipleToStore pool' (tid=3390904, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040cf498 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #10 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #11 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #12 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #21 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #37 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #38 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #39 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #40 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #41 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x7210040cf498 by thread T3 (mutexes: write M0): #0 std::_Rb_tree, std::less, std::allocator>::_M_get_insert_unique_pos(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h (nix+0x130856) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2171:4 (nix+0x19cf38) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d64200 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #15 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #16 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #17 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #25 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #26 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #27 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #42 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #43 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #44 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #45 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #46 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x720c02d64200 by thread T3 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (nix+0x1308a2) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (nix+0x1308a2) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (nix+0x1308a2) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (nix+0x1308a2) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (nix+0x1308a2) #6 std::_Rb_tree, std::less, std::allocator>::_M_get_insert_unique_pos(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2118:13 (nix+0x1308a2) #7 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2171:4 (nix+0x19cf38) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #10 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #12 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #13 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #15 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #16 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #18 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #19 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #20 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #23 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #24 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #25 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #26 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #27 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #28 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040ce258 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #9 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #10 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #11 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #20 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #36 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #37 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #38 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #39 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #40 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x7210040ce258 by thread T13 (mutexes: write M0): #0 std::_Rb_tree, std::less, std::allocator>::_M_get_insert_unique_pos(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h (nix+0x130856) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2171:4 (nix+0x19cf38) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d61560 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x720c02d61560 by thread T9 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (liblixstore.so+0x34adb3) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (liblixstore.so+0x34adb3) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (liblixstore.so+0x34adb3) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (liblixstore.so+0x34adb3) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (liblixstore.so+0x34adb3) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_lower_bound(std::_Rb_tree_node, std::allocator>>>*, std::_Rb_tree_node_base*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1952:7 (liblixstore.so+0x34adb3) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1271:16 (liblixstore.so+0x34adb3) #8 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1309:21 (liblixstore.so+0x34adb3) #9 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:509:17 (liblixstore.so+0x34adb3) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #13 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #14 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #16 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #18 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #19 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #21 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #22 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #23 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #24 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #25 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #26 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #27 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #28 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #29 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721c00f91cb0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #11 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #12 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #13 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #28 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #29 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #30 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #31 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #32 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x721c00f91cb0 by thread T10 (mutexes: write M0): #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_lower_bound(std::_Rb_tree_node, std::allocator>>>*, std::_Rb_tree_node_base*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h (liblixstore.so+0x34ad53) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1271:16 (liblixstore.so+0x34ad53) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1309:21 (liblixstore.so+0x34ad53) #3 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:509:17 (liblixstore.so+0x34ad53) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #7 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #8 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #10 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #12 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #13 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #14 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #15 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #16 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #17 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #18 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #19 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #20 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #21 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #22 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #23 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T10 'addMultipleToStore pool' (tid=3390904, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040bb080 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #22 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #23 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #38 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #39 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #40 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #41 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #42 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x7210040bb080 by thread T3 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (liblixstore.so+0x34adb3) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (liblixstore.so+0x34adb3) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (liblixstore.so+0x34adb3) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (liblixstore.so+0x34adb3) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (liblixstore.so+0x34adb3) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_lower_bound(std::_Rb_tree_node, std::allocator>>>*, std::_Rb_tree_node_base*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1952:7 (liblixstore.so+0x34adb3) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1271:16 (liblixstore.so+0x34adb3) #8 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1309:21 (liblixstore.so+0x34adb3) #9 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:509:17 (liblixstore.so+0x34adb3) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #13 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #14 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #16 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #18 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #19 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #21 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #22 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #23 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #24 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #25 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #26 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #27 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #28 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #29 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721c00fa88b0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #15 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #21 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #31 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #32 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #33 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #34 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #35 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x721c00fa88b0 by thread T3 (mutexes: write M0): #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_lower_bound(std::_Rb_tree_node, std::allocator>>>*, std::_Rb_tree_node_base*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h (liblixstore.so+0x34ad53) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1271:16 (liblixstore.so+0x34ad53) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1309:21 (liblixstore.so+0x34ad53) #3 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:509:17 (liblixstore.so+0x34ad53) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #7 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #8 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #10 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #12 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #13 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #14 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #15 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #16 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #17 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #18 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #19 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #20 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #21 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #22 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #23 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fcad58 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (liblixstore.so+0x1fd6bd) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (liblixstore.so+0x1fd6bd) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #10 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #11 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #17 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #26 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #27 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #28 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #29 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #30 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fcad58 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fcad40 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fcad50 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (liblixstore.so+0x1fd6d2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (liblixstore.so+0x1fd6d2) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #10 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #11 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #17 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #26 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #27 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #28 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #29 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #30 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fcad50 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fcad40 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fcad90 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_M_mbegin() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:737:64 (liblixstore.so+0x1fd6e3) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::less, std::allocator>::_M_begin() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:741:16 (liblixstore.so+0x1fd6e3) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:18 (liblixstore.so+0x1fd6e3) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6e3) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6e3) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6e3) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6e3) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6e3) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6e3) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6e3) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #18 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #34 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #35 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #36 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #37 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #38 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fcad90 by thread T3 (mutexes: write M0): #0 __tsan_memset (libclang_rt.tsan-x86_64.so+0x77ce0) #1 std::_Rb_tree_header::_Rb_tree_header() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:175:26 (liblixstore.so+0x34b424) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::_Rb_tree, std::less, std::allocator>::_Rb_tree_impl, true>::_Rb_tree_impl() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:669:4 (liblixstore.so+0x34b424) #3 std::_Rb_tree, std::less, std::allocator>::_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:930:7 (liblixstore.so+0x34b424) #4 std::set, std::allocator>::set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:169:7 (liblixstore.so+0x34b424) #5 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2268:2 (liblixstore.so+0x34b424) #6 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b424) #7 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b424) #8 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b424) #9 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b424) #10 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #12 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #13 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #17 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #18 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #21 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #23 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #24 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #25 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #26 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #27 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #28 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #30 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #31 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #32 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #33 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fcad40 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040d2258 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #18 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #34 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #35 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #36 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #37 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #38 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d2258 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040d2240 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040d2250 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #18 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #34 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #35 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #36 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #37 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #38 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d2250 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040d2240 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040d2260 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #12 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #13 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #14 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #25 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #26 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #27 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #42 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #43 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #44 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #45 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #46 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d2260 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040d2240 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d5f8e0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #15 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #16 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #17 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #28 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #29 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #30 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #34 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #41 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #43 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #44 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #45 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #46 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #47 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #48 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #49 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d5f8e0 by thread T3 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040d2240 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #9 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #10 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #11 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #23 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #24 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #39 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #40 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #41 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #42 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #43 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d2240 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fcad60 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (liblixstore.so+0x1fd6f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (liblixstore.so+0x1fd6f8) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (liblixstore.so+0x1fd6f8) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6f8) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6f8) #5 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6f8) #6 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6f8) #7 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6f8) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6f8) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6f8) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6f8) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fcad60 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fcad40 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d5f250 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #22 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #23 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #38 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #39 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #40 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #41 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #42 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d5f250 by thread T3 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (liblixstore.so+0x34b3f1) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (liblixstore.so+0x34b3f1) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (liblixstore.so+0x34b3f1) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (liblixstore.so+0x34b3f1) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (liblixstore.so+0x34b3f1) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x34b3f1) #7 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2267:9 (liblixstore.so+0x34b3f1) #8 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b3f1) #9 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b3f1) #10 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b3f1) #11 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b3f1) #12 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #14 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #19 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #20 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #22 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #24 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #25 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #26 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #27 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #28 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #30 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #31 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #32 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #33 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #34 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #35 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721c00fcad40 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #15 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #21 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #31 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #32 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #33 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #34 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #35 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fcad40 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, running) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040d8140 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #21 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #37 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #38 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #39 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #40 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #41 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x7210040d8140 by thread T13 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (liblixstore.so+0x34adb3) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (liblixstore.so+0x34adb3) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (liblixstore.so+0x34adb3) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (liblixstore.so+0x34adb3) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (liblixstore.so+0x34adb3) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_lower_bound(std::_Rb_tree_node, std::allocator>>>*, std::_Rb_tree_node_base*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1952:7 (liblixstore.so+0x34adb3) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1271:16 (liblixstore.so+0x34adb3) #8 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1309:21 (liblixstore.so+0x34adb3) #9 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:509:17 (liblixstore.so+0x34adb3) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #13 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #14 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #16 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #18 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #19 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #21 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #22 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #23 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #24 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #25 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #26 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #27 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #28 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #29 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00f8db88 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (liblixstore.so+0x1fd6bd) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (liblixstore.so+0x1fd6bd) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #8 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #9 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #16 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #17 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #25 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #26 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #28 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #29 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00f8db88 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00f8db70 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00f8db80 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (liblixstore.so+0x1fd6d2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (liblixstore.so+0x1fd6d2) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #8 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #9 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #16 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #17 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #25 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #26 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #28 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #29 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00f8db80 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00f8db70 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00f8dbc0 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_M_mbegin() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:737:64 (liblixstore.so+0x1fd6e3) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::less, std::allocator>::_M_begin() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:741:16 (liblixstore.so+0x1fd6e3) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:18 (liblixstore.so+0x1fd6e3) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6e3) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6e3) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6e3) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6e3) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6e3) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6e3) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6e3) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #17 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #33 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #34 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #35 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #36 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #37 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00f8dbc0 by thread T13 (mutexes: write M0): #0 __tsan_memset (libclang_rt.tsan-x86_64.so+0x77ce0) #1 std::_Rb_tree_header::_Rb_tree_header() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:175:26 (liblixstore.so+0x34b424) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::_Rb_tree, std::less, std::allocator>::_Rb_tree_impl, true>::_Rb_tree_impl() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:669:4 (liblixstore.so+0x34b424) #3 std::_Rb_tree, std::less, std::allocator>::_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:930:7 (liblixstore.so+0x34b424) #4 std::set, std::allocator>::set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:169:7 (liblixstore.so+0x34b424) #5 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2268:2 (liblixstore.so+0x34b424) #6 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b424) #7 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b424) #8 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b424) #9 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b424) #10 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #12 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #13 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #17 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #18 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #21 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #23 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #24 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #25 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #26 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #27 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #28 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #30 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #31 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #32 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #33 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00f8db70 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4c58 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #17 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #33 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #34 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #35 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #36 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #37 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4c58 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4c40 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4c50 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #17 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #33 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #34 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #35 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #36 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #37 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4c50 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4c40 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4c60 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #12 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #13 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #14 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #24 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #25 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #26 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #41 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #42 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #43 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #44 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #45 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4c60 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4c40 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c4c80 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #15 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #16 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #17 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #27 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #28 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #29 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #43 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #44 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #45 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #46 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #47 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #48 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4c80 by thread T13 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c4c40 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #9 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #10 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #11 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #22 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #23 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #38 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #39 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #40 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #41 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #42 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4c40 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00f8db90 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (liblixstore.so+0x1fd6f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (liblixstore.so+0x1fd6f8) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (liblixstore.so+0x1fd6f8) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6f8) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6f8) #5 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6f8) #6 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6f8) #7 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6f8) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6f8) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6f8) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6f8) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #18 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #34 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #35 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #36 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #37 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #38 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00f8db90 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00f8db70 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d67590 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #21 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #37 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #38 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #39 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #40 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #41 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d67590 by thread T13 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (liblixstore.so+0x34b3f1) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (liblixstore.so+0x34b3f1) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (liblixstore.so+0x34b3f1) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (liblixstore.so+0x34b3f1) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (liblixstore.so+0x34b3f1) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x34b3f1) #7 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2267:9 (liblixstore.so+0x34b3f1) #8 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b3f1) #9 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b3f1) #10 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b3f1) #11 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b3f1) #12 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #14 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #19 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #20 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #22 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #24 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #25 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #26 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #27 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #28 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #30 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #31 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #32 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #33 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #34 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #35 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721c00f8db70 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #13 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #14 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #20 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #30 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #31 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #32 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #33 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #34 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00f8db70 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d64470 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #20 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #36 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #37 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #38 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #39 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #40 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x720c02d64470 by thread T13 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (liblixstore.so+0x34b216) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (liblixstore.so+0x34b216) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (liblixstore.so+0x34b216) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (liblixstore.so+0x34b216) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (liblixstore.so+0x34b216) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2382:11 (liblixstore.so+0x34b216) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_M_insert(std::pair) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1657:21 (liblixstore.so+0x34b216) #8 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2465:15 (liblixstore.so+0x34b216) #9 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #13 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #14 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #16 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #18 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #19 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #21 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #22 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #23 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #24 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #25 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #26 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #27 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #28 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #29 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d6b8e0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #20 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #36 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #37 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #38 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #39 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #40 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x720c02d6b8e0 by thread T9 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (liblixstore.so+0x1fc99e) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (liblixstore.so+0x1fc99e) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (liblixstore.so+0x1fc99e) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (liblixstore.so+0x1fc99e) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (liblixstore.so+0x1fc99e) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, std::allocator>>>, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2226:16 (liblixstore.so+0x1fc99e) #7 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2463:15 (liblixstore.so+0x34b18b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #12 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #13 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #15 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #16 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #18 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #19 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #20 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #23 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #24 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #25 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #26 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #27 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #28 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fdc1d8 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (liblixstore.so+0x1fd6bd) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (liblixstore.so+0x1fd6bd) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #8 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #16 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #17 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #21 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #24 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #25 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #26 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #27 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #28 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fdc1d8 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fdc1c0 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fdc1d0 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (liblixstore.so+0x1fd6d2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (liblixstore.so+0x1fd6d2) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #8 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #16 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #17 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #21 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #24 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #25 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #26 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #27 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #28 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fdc1d0 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fdc1c0 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fdc210 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_M_mbegin() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:737:64 (liblixstore.so+0x1fd6e3) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::less, std::allocator>::_M_begin() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:741:16 (liblixstore.so+0x1fd6e3) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:18 (liblixstore.so+0x1fd6e3) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6e3) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6e3) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6e3) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6e3) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6e3) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6e3) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6e3) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #16 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #32 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #33 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #34 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #35 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #36 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fdc210 by thread T9 (mutexes: write M0): #0 __tsan_memset (libclang_rt.tsan-x86_64.so+0x77ce0) #1 std::_Rb_tree_header::_Rb_tree_header() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:175:26 (liblixstore.so+0x34b424) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::_Rb_tree, std::less, std::allocator>::_Rb_tree_impl, true>::_Rb_tree_impl() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:669:4 (liblixstore.so+0x34b424) #3 std::_Rb_tree, std::less, std::allocator>::_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:930:7 (liblixstore.so+0x34b424) #4 std::set, std::allocator>::set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:169:7 (liblixstore.so+0x34b424) #5 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2268:2 (liblixstore.so+0x34b424) #6 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b424) #7 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b424) #8 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b424) #9 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b424) #10 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #12 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #13 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #17 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #18 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #21 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #23 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #24 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #25 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #26 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #27 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #28 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #30 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #31 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #32 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #33 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fdc1c0 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c2558 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #16 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #32 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #33 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #34 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #35 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #36 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2558 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c2540 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c2550 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #16 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #32 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #33 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #34 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #35 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #36 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2550 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c2540 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c2560 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #12 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #13 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #14 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #23 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #24 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #25 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #40 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #41 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #42 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #43 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #44 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2560 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c2540 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d81a20 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #15 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #16 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #17 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #26 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #27 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #28 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #43 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #44 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #45 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #46 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #47 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d81a20 by thread T9 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c2540 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #9 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #10 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #11 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #21 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #37 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #38 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #39 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #40 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #41 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2540 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fdc1e0 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (liblixstore.so+0x1fd6f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (liblixstore.so+0x1fd6f8) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (liblixstore.so+0x1fd6f8) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6f8) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6f8) #5 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6f8) #6 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6f8) #7 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6f8) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6f8) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6f8) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6f8) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #17 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #33 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #34 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #35 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #36 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #37 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fdc1e0 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fdc1c0 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d819f0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #20 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #36 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #37 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #38 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #39 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #40 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d819f0 by thread T9 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (liblixstore.so+0x34b3f1) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (liblixstore.so+0x34b3f1) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (liblixstore.so+0x34b3f1) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (liblixstore.so+0x34b3f1) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (liblixstore.so+0x34b3f1) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x34b3f1) #7 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2267:9 (liblixstore.so+0x34b3f1) #8 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b3f1) #9 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b3f1) #10 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b3f1) #11 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b3f1) #12 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #14 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #19 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #20 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #22 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #24 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #25 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #26 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #27 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #28 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #30 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #31 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #32 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #33 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #34 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #35 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721c00fdc1c0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #12 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #13 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #19 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #29 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #30 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #31 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #32 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #33 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fdc1c0 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040bcd80 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x7210040bcd80 by thread T9 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (liblixstore.so+0x1fcb44) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (liblixstore.so+0x1fcb44) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (liblixstore.so+0x1fcb44) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (liblixstore.so+0x1fcb44) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (liblixstore.so+0x1fcb44) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, std::allocator>>>, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2232:13 (liblixstore.so+0x1fcb44) #7 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2463:15 (liblixstore.so+0x34b18b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #12 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #13 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #15 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #16 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #18 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #19 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #20 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #23 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #24 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #25 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #26 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #27 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #28 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d61440 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #18 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #34 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #35 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #36 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #37 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #38 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x720c02d61440 by thread T13 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (liblixstore.so+0x34adb3) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (liblixstore.so+0x34adb3) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (liblixstore.so+0x34adb3) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (liblixstore.so+0x34adb3) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (liblixstore.so+0x34adb3) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_lower_bound(std::_Rb_tree_node, std::allocator>>>*, std::_Rb_tree_node_base*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1952:7 (liblixstore.so+0x34adb3) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1271:16 (liblixstore.so+0x34adb3) #8 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1309:21 (liblixstore.so+0x34adb3) #9 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:509:17 (liblixstore.so+0x34adb3) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #13 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #14 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #16 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #18 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #19 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #21 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #22 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #23 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #24 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #25 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #26 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #27 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #28 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #29 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721c00f91d90 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #11 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #12 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #27 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #28 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #29 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #30 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #31 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x721c00f91d90 by thread T9 (mutexes: write M0): #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_lower_bound(std::_Rb_tree_node, std::allocator>>>*, std::_Rb_tree_node_base*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h (liblixstore.so+0x34ad53) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1271:16 (liblixstore.so+0x34ad53) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1309:21 (liblixstore.so+0x34ad53) #3 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:509:17 (liblixstore.so+0x34ad53) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #7 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #8 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #10 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #12 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #13 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #14 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #15 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #16 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #17 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #18 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #19 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #20 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #21 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #22 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #23 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4b98 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #4 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #6 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #7 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #8 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4b98 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4b80 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c24d8 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #4 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #5 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #7 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #8 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #9 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #20 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #36 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #37 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #38 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #39 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #40 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c24d8 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c24c0 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c24d0 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #4 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #5 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #7 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #8 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #9 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #20 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #36 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #37 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #38 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #39 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #40 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c24d0 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c24c0 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c24e0 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #13 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #15 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #16 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #17 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #27 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #28 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #29 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #43 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #44 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #45 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #46 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #47 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #48 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c24e0 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c24c0 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d81990 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #18 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #19 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #20 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #30 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #31 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #32 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #34 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #35 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #36 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #41 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #42 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #43 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #44 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #45 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #46 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #47 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #48 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #49 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #50 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #51 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d81990 by thread T9 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c24c0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #10 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #12 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #13 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #14 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #24 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #25 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #26 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #41 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #42 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #43 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #44 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #45 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c24c0 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4b90 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #4 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #6 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #7 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #8 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4b90 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4b80 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4ba0 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #12 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #14 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #15 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #16 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #26 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #27 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #28 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #43 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #44 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #45 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #46 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #47 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4ba0 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4b80 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c4bc0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #17 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #18 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #19 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #29 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #30 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #31 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #34 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #35 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #41 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #42 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #43 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #44 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #45 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #46 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #47 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #48 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #49 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #50 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4bc0 by thread T13 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c4b80 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #11 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #12 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #13 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #23 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #24 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #25 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #40 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #41 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #42 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #43 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #44 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4b80 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c2200 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #15 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #16 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #17 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #27 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #28 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #29 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #43 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #44 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #45 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #46 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #47 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #48 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x7210040c2200 by thread T9 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (nix+0x1308a2) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (nix+0x1308a2) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (nix+0x1308a2) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (nix+0x1308a2) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (nix+0x1308a2) #6 std::_Rb_tree, std::less, std::allocator>::_M_get_insert_unique_pos(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2118:13 (nix+0x1308a2) #7 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2171:4 (nix+0x19cf38) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #10 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #12 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #13 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #15 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #16 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #18 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #19 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #20 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #23 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #24 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #25 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #26 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #27 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #28 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4ad8 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #5 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #6 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #7 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #16 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #32 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #33 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #34 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #35 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #36 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4ad8 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4ac0 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4ad0 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #5 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #6 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #7 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #16 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #32 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #33 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #34 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #35 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #36 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4ad0 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4ac0 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4ae0 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #13 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #14 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #15 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #23 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #24 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #25 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #40 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #41 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #42 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #43 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #44 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4ae0 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4ac0 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c4b00 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #16 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #17 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #18 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #26 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #27 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #28 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #43 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #44 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #45 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #46 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #47 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4b00 by thread T13 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c4ac0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #10 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #11 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #12 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #21 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #37 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #38 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #39 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #40 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #41 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4ac0 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d613e0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #15 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #16 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #17 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #25 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #26 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #27 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #42 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #43 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #44 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #45 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #46 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x720c02d613e0 by thread T13 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (nix+0x19cfb9) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (nix+0x19cfb9) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (nix+0x19cfb9) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (nix+0x19cfb9) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (nix+0x19cfb9) #6 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1828:13 (nix+0x19cfb9) #7 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19cfb9) #8 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #10 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #12 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #13 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #15 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #16 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #18 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #19 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #20 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #23 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #24 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #25 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #26 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #27 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #28 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721c00fa8298 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #13 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #14 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #20 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #30 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #31 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #32 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #33 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #34 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x721c00fa8298 by thread T13 (mutexes: write M0): #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_lower_bound(std::_Rb_tree_node, std::allocator>>>*, std::_Rb_tree_node_base*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h (liblixstore.so+0x34ad53) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1271:16 (liblixstore.so+0x34ad53) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1309:21 (liblixstore.so+0x34ad53) #3 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:509:17 (liblixstore.so+0x34ad53) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #7 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #8 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #10 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #12 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #13 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #14 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #15 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #16 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #17 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #18 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #19 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #20 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #21 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #22 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #23 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fdc168 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (liblixstore.so+0x1fd6bd) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (liblixstore.so+0x1fd6bd) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #11 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #12 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #27 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #28 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #29 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #30 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #31 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fdc168 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fdc150 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fdc160 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (liblixstore.so+0x1fd6d2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (liblixstore.so+0x1fd6d2) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #11 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #12 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #27 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #28 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #29 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #30 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #31 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fdc160 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fdc150 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fdc1a0 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_M_mbegin() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:737:64 (liblixstore.so+0x1fd6e3) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::less, std::allocator>::_M_begin() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:741:16 (liblixstore.so+0x1fd6e3) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:18 (liblixstore.so+0x1fd6e3) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6e3) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6e3) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6e3) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6e3) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6e3) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6e3) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6e3) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fdc1a0 by thread T9 (mutexes: write M0): #0 __tsan_memset (libclang_rt.tsan-x86_64.so+0x77ce0) #1 std::_Rb_tree_header::_Rb_tree_header() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:175:26 (liblixstore.so+0x34b424) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::_Rb_tree, std::less, std::allocator>::_Rb_tree_impl, true>::_Rb_tree_impl() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:669:4 (liblixstore.so+0x34b424) #3 std::_Rb_tree, std::less, std::allocator>::_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:930:7 (liblixstore.so+0x34b424) #4 std::set, std::allocator>::set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:169:7 (liblixstore.so+0x34b424) #5 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2268:2 (liblixstore.so+0x34b424) #6 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b424) #7 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b424) #8 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b424) #9 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b424) #10 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #12 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #13 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #17 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #18 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #21 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #23 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #24 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #25 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #26 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #27 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #28 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #30 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #31 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #32 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #33 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fdc150 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c2458 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2458 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c2440 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c2450 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2450 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c2440 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c2460 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #12 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #13 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #14 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #26 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #27 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #28 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #43 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #44 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #45 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #46 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #47 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2460 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c2440 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d81930 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #15 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #16 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #17 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #29 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #30 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #31 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #34 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #35 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #41 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #42 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #43 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #44 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #45 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #46 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #47 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #48 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #49 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #50 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d81930 by thread T9 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c2440 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #9 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #10 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #11 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #23 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #24 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #25 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #40 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #41 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #42 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #43 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #44 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2440 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fdc170 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (liblixstore.so+0x1fd6f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (liblixstore.so+0x1fd6f8) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (liblixstore.so+0x1fd6f8) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6f8) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6f8) #5 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6f8) #6 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6f8) #7 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6f8) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6f8) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6f8) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6f8) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #20 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #36 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #37 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #38 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #39 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #40 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fdc170 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fdc150 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d81900 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #23 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #24 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #39 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #40 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #41 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #42 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #43 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d81900 by thread T9 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (liblixstore.so+0x34b3f1) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (liblixstore.so+0x34b3f1) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (liblixstore.so+0x34b3f1) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (liblixstore.so+0x34b3f1) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (liblixstore.so+0x34b3f1) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x34b3f1) #7 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2267:9 (liblixstore.so+0x34b3f1) #8 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b3f1) #9 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b3f1) #10 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b3f1) #11 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b3f1) #12 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #14 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #19 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #20 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #22 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #24 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #25 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #26 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #27 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #28 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #30 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #31 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #32 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #33 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #34 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #35 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721c00fdc150 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #16 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #32 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #33 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #34 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #35 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #36 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fdc150 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040bb9c0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #22 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #23 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #38 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #39 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #40 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #41 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #42 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x7210040bb9c0 by thread T9 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (liblixstore.so+0x34b216) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (liblixstore.so+0x34b216) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (liblixstore.so+0x34b216) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (liblixstore.so+0x34b216) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (liblixstore.so+0x34b216) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2382:11 (liblixstore.so+0x34b216) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_M_insert(std::pair) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1657:21 (liblixstore.so+0x34b216) #8 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2465:15 (liblixstore.so+0x34b216) #9 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #13 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #14 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #16 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #18 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #19 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #21 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #22 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #23 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #24 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #25 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #26 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #27 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #28 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #29 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4a18 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #5 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #6 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #7 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #18 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #34 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #35 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #36 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #37 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #38 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4a18 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4a00 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4a10 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #5 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #6 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #7 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #18 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #34 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #35 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #36 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #37 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #38 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4a10 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4a00 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4a20 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #13 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #14 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #15 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #25 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #26 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #27 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #42 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #43 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #44 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #45 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #46 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4a20 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4a00 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c4a40 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #16 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #17 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #18 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #28 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #29 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #30 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #34 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #41 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #43 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #44 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #45 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #46 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #47 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #48 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #49 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4a40 by thread T13 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c4a00 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #10 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #11 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #12 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #23 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #24 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #39 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #40 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #41 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #42 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #43 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4a00 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d612c0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #15 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #16 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #17 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #27 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #28 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #29 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #43 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #44 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #45 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #46 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #47 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #48 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x720c02d612c0 by thread T13 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (nix+0x19cfb9) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (nix+0x19cfb9) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (nix+0x19cfb9) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (nix+0x19cfb9) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (nix+0x19cfb9) #6 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1828:13 (nix+0x19cfb9) #7 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19cfb9) #8 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #10 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #12 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #13 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #15 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #16 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #18 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #19 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #20 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #23 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #24 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #25 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #26 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #27 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #28 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040bc418 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #9 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #10 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #11 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #22 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #23 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #38 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #39 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #40 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #41 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #42 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x7210040bc418 by thread T13 (mutexes: write M0): #0 std::_Rb_tree, std::less, std::allocator>::_M_get_insert_unique_pos(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h (nix+0x130856) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2171:4 (nix+0x19cf38) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d61290 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #21 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #37 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #38 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #39 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #40 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #41 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x720c02d61290 by thread T13 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (liblixstore.so+0x34ae26) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (liblixstore.so+0x34ae26) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (liblixstore.so+0x34ae26) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (liblixstore.so+0x34ae26) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (liblixstore.so+0x34ae26) #6 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:511:22 (liblixstore.so+0x34ae26) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d689d0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #17 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #33 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #34 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #35 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #36 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #37 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x720c02d689d0 by thread T9 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (liblixstore.so+0x34adb3) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (liblixstore.so+0x34adb3) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (liblixstore.so+0x34adb3) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (liblixstore.so+0x34adb3) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (liblixstore.so+0x34adb3) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_lower_bound(std::_Rb_tree_node, std::allocator>>>*, std::_Rb_tree_node_base*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1952:7 (liblixstore.so+0x34adb3) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1271:16 (liblixstore.so+0x34adb3) #8 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1309:21 (liblixstore.so+0x34adb3) #9 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:509:17 (liblixstore.so+0x34adb3) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #13 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #14 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #16 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #18 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #19 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #21 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #22 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #23 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #24 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #25 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #26 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #27 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #28 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #29 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d67170 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x720c02d67170 by thread T13 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (liblixstore.so+0x1fc99e) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (liblixstore.so+0x1fc99e) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (liblixstore.so+0x1fc99e) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (liblixstore.so+0x1fc99e) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (liblixstore.so+0x1fc99e) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, std::allocator>>>, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2226:16 (liblixstore.so+0x1fc99e) #7 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2463:15 (liblixstore.so+0x34b18b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #12 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #13 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #15 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #16 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #18 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #19 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #20 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #23 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #24 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #25 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #26 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #27 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #28 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00f8dbf8 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (liblixstore.so+0x1fd6bd) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (liblixstore.so+0x1fd6bd) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #6 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #7 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #8 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #13 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #16 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #17 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #20 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #21 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #23 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #24 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #25 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #26 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #27 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00f8dbf8 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00f8dbe0 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00f8dbf0 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (liblixstore.so+0x1fd6d2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (liblixstore.so+0x1fd6d2) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #6 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #7 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #8 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #13 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #16 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #17 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #20 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #21 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #23 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #24 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #25 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #26 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #27 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00f8dbf0 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00f8dbe0 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00f8dc30 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_M_mbegin() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:737:64 (liblixstore.so+0x1fd6e3) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::less, std::allocator>::_M_begin() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:741:16 (liblixstore.so+0x1fd6e3) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:18 (liblixstore.so+0x1fd6e3) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6e3) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6e3) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6e3) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6e3) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6e3) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6e3) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6e3) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #15 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #21 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #31 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #32 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #33 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #34 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #35 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00f8dc30 by thread T13 (mutexes: write M0): #0 __tsan_memset (libclang_rt.tsan-x86_64.so+0x77ce0) #1 std::_Rb_tree_header::_Rb_tree_header() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:175:26 (liblixstore.so+0x34b424) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::_Rb_tree, std::less, std::allocator>::_Rb_tree_impl, true>::_Rb_tree_impl() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:669:4 (liblixstore.so+0x34b424) #3 std::_Rb_tree, std::less, std::allocator>::_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:930:7 (liblixstore.so+0x34b424) #4 std::set, std::allocator>::set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:169:7 (liblixstore.so+0x34b424) #5 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2268:2 (liblixstore.so+0x34b424) #6 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b424) #7 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b424) #8 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b424) #9 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b424) #10 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #12 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #13 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #17 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #18 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #21 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #23 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #24 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #25 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #26 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #27 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #28 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #30 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #31 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #32 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #33 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00f8dbe0 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4958 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #15 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #21 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #31 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #32 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #33 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #34 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #35 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4958 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4940 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4950 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #15 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #21 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #31 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #32 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #33 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #34 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #35 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4950 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4940 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4960 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #12 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #13 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #14 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #23 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #24 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #39 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #40 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #41 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #42 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #43 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4960 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4940 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c4980 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #15 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #16 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #17 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #25 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #26 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #27 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #42 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #43 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #44 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #45 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #46 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4980 by thread T13 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c4940 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #9 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #10 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #11 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #20 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #36 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #37 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #38 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #39 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #40 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4940 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00f8dc00 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (liblixstore.so+0x1fd6f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (liblixstore.so+0x1fd6f8) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (liblixstore.so+0x1fd6f8) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6f8) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6f8) #5 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6f8) #6 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6f8) #7 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6f8) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6f8) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6f8) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6f8) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #16 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #32 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #33 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #34 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #35 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #36 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00f8dc00 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00f8dbe0 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d674a0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d674a0 by thread T13 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (liblixstore.so+0x34b3f1) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (liblixstore.so+0x34b3f1) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (liblixstore.so+0x34b3f1) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (liblixstore.so+0x34b3f1) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (liblixstore.so+0x34b3f1) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x34b3f1) #7 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2267:9 (liblixstore.so+0x34b3f1) #8 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b3f1) #9 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b3f1) #10 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b3f1) #11 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b3f1) #12 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #14 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #19 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #20 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #22 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #24 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #25 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #26 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #27 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #28 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #30 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #31 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #32 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #33 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #34 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #35 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721c00f8dbe0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #11 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #12 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #13 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #28 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #29 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #30 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #31 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #32 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00f8dbe0 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x72200032cd00 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #18 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #34 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #35 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #36 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #37 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #38 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x72200032cd00 by thread T13 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (liblixstore.so+0x1fcb44) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (liblixstore.so+0x1fcb44) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (liblixstore.so+0x1fcb44) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (liblixstore.so+0x1fcb44) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (liblixstore.so+0x1fcb44) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, std::allocator>>>, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2232:13 (liblixstore.so+0x1fcb44) #7 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2463:15 (liblixstore.so+0x34b18b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #12 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #13 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #15 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #16 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #18 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #19 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #20 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #23 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #24 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #25 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #26 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #27 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #28 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00f8dcd8 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (liblixstore.so+0x1fd6bd) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (liblixstore.so+0x1fd6bd) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #5 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #12 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #16 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #17 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #19 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #20 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #21 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #22 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #23 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #24 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #25 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #26 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00f8dcd8 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00f8dcc0 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00f8dcd0 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (liblixstore.so+0x1fd6d2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (liblixstore.so+0x1fd6d2) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #5 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #12 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #16 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #17 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #19 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #20 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #21 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #22 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #23 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #24 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #25 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #26 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00f8dcd0 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00f8dcc0 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00f8dd10 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_M_mbegin() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:737:64 (liblixstore.so+0x1fd6e3) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::less, std::allocator>::_M_begin() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:741:16 (liblixstore.so+0x1fd6e3) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:18 (liblixstore.so+0x1fd6e3) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6e3) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6e3) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6e3) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6e3) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6e3) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6e3) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6e3) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #13 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #14 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #20 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #30 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #31 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #32 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #33 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #34 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00f8dd10 by thread T13 (mutexes: write M0): #0 __tsan_memset (libclang_rt.tsan-x86_64.so+0x77ce0) #1 std::_Rb_tree_header::_Rb_tree_header() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:175:26 (liblixstore.so+0x34b424) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::_Rb_tree, std::less, std::allocator>::_Rb_tree_impl, true>::_Rb_tree_impl() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:669:4 (liblixstore.so+0x34b424) #3 std::_Rb_tree, std::less, std::allocator>::_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:930:7 (liblixstore.so+0x34b424) #4 std::set, std::allocator>::set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:169:7 (liblixstore.so+0x34b424) #5 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2268:2 (liblixstore.so+0x34b424) #6 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b424) #7 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b424) #8 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b424) #9 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b424) #10 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #12 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #13 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #17 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #18 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #21 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #23 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #24 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #25 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #26 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #27 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #28 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #30 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #31 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #32 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #33 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00f8dcc0 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4718 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #13 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #14 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #20 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #30 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #31 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #32 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #33 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #34 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4718 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4700 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4710 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #13 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #14 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #20 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #30 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #31 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #32 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #33 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #34 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4710 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4700 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c4720 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #12 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #13 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #14 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #22 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #23 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #38 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #39 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #40 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #41 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #42 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4720 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c4700 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c4740 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #15 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #16 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #17 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #24 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #25 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #26 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #41 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #42 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #43 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #44 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #45 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4740 by thread T13 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c4700 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #9 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #10 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #11 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c4700 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa78) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:43 (liblixstore.so+0x34aa78) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00f8dce0 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (liblixstore.so+0x1fd6f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (liblixstore.so+0x1fd6f8) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (liblixstore.so+0x1fd6f8) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6f8) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6f8) #5 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6f8) #6 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6f8) #7 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6f8) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6f8) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6f8) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6f8) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #15 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #21 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #31 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #32 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #33 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #34 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #35 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00f8dce0 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00f8dcc0 allocated by thread T13: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d673b0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #18 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #34 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #35 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #36 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #37 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #38 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d673b0 by thread T13 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (liblixstore.so+0x34b3f1) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (liblixstore.so+0x34b3f1) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (liblixstore.so+0x34b3f1) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (liblixstore.so+0x34b3f1) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (liblixstore.so+0x34b3f1) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x34b3f1) #7 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2267:9 (liblixstore.so+0x34b3f1) #8 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b3f1) #9 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b3f1) #10 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b3f1) #11 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b3f1) #12 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #14 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #19 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #20 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #22 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #24 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #25 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #26 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #27 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #28 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #30 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #31 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #32 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #33 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #34 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #35 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721c00f8dcc0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3b2) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3b2) #11 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3b2) #12 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #27 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #28 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #29 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #30 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #31 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00f8dcc0 by thread T13 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:122:25 (liblixstore.so+0x34aa6b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T13 'addMultipleToStore pool' (tid=3390907, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fdc088 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (liblixstore.so+0x1fd6bd) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (liblixstore.so+0x1fd6bd) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #8 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #16 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #17 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #21 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #24 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #25 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #26 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #27 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #28 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fdc088 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fdc070 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fc71d8 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (liblixstore.so+0x1fd6bd) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (liblixstore.so+0x1fd6bd) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #8 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #9 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #16 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #17 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #25 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #26 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #28 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #29 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fc71d8 by thread T4 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:124:21 (liblixstore.so+0x34aa99) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fc71c0 allocated by thread T4: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:124:21 (liblixstore.so+0x34aa99) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T4 'addMultipleToStore pool' (tid=3390898, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fcace8 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (liblixstore.so+0x1fd6bd) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (liblixstore.so+0x1fd6bd) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #11 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #12 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #27 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #28 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #29 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #30 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #31 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fcace8 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fcacd0 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fcace0 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (liblixstore.so+0x1fd6d2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (liblixstore.so+0x1fd6d2) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #11 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #12 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #27 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #28 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #29 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #30 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #31 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fcace0 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fcacd0 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fcad20 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_M_mbegin() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:737:64 (liblixstore.so+0x1fd6e3) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::less, std::allocator>::_M_begin() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:741:16 (liblixstore.so+0x1fd6e3) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:18 (liblixstore.so+0x1fd6e3) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6e3) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6e3) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6e3) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6e3) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6e3) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6e3) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6e3) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fcad20 by thread T3 (mutexes: write M0): #0 __tsan_memset (libclang_rt.tsan-x86_64.so+0x77ce0) #1 std::_Rb_tree_header::_Rb_tree_header() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:175:26 (liblixstore.so+0x34b424) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::_Rb_tree, std::less, std::allocator>::_Rb_tree_impl, true>::_Rb_tree_impl() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:669:4 (liblixstore.so+0x34b424) #3 std::_Rb_tree, std::less, std::allocator>::_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:930:7 (liblixstore.so+0x34b424) #4 std::set, std::allocator>::set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:169:7 (liblixstore.so+0x34b424) #5 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2268:2 (liblixstore.so+0x34b424) #6 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b424) #7 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b424) #8 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b424) #9 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b424) #10 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #12 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #13 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #17 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #18 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #21 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #23 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #24 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #25 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #26 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #27 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #28 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #30 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #31 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #32 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #33 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fcacd0 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040d28d8 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d28d8 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040d28c0 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040d2198 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #5 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #6 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #7 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #20 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #36 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #37 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #38 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #39 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #40 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d2198 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040d2180 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040d2190 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #5 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #6 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #7 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #20 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #36 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #37 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #38 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #39 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #40 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d2190 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040d2180 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040d21a0 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #13 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #14 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #15 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #27 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #28 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #29 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #43 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #44 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #45 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #46 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #47 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #48 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d21a0 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040d2180 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d77be0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #16 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #17 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #18 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #30 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #31 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #32 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #34 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #35 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #36 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #41 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #42 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #43 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #44 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #45 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #46 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #47 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #48 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #49 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #50 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #51 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d77be0 by thread T3 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040d2180 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #10 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #11 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #12 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #24 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #25 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #26 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #41 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #42 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #43 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #44 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #45 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d2180 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040d28d0 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d28d0 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040d28c0 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040d28e0 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #12 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #13 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #14 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #26 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #27 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #28 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #43 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #44 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #45 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #46 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #47 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d28e0 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040d28c0 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d77b80 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #15 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #16 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #17 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #29 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #30 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #31 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #34 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #35 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #41 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #42 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #43 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #44 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #45 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #46 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #47 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #48 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #49 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #50 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d77b80 by thread T3 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040d28c0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #9 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #10 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #11 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #23 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #24 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #25 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #40 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #41 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #42 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #43 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #44 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040d28c0 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fcacf0 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (liblixstore.so+0x1fd6f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (liblixstore.so+0x1fd6f8) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (liblixstore.so+0x1fd6f8) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6f8) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6f8) #5 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6f8) #6 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6f8) #7 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6f8) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6f8) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6f8) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6f8) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #20 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #36 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #37 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #38 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #39 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #40 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fcacf0 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fcacd0 allocated by thread T3: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d5f280 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #23 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #24 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #39 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #40 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #41 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #42 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #43 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d5f280 by thread T3 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (liblixstore.so+0x34b3f1) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (liblixstore.so+0x34b3f1) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (liblixstore.so+0x34b3f1) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (liblixstore.so+0x34b3f1) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (liblixstore.so+0x34b3f1) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x34b3f1) #7 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2267:9 (liblixstore.so+0x34b3f1) #8 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b3f1) #9 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b3f1) #10 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b3f1) #11 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b3f1) #12 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #14 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #19 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #20 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #22 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #24 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #25 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #26 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #27 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #28 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #30 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #31 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #32 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #33 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #34 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #35 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721c00fcacd0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #16 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #32 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #33 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #34 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #35 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #36 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fcacd0 by thread T3 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fc71d0 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (liblixstore.so+0x1fd6d2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (liblixstore.so+0x1fd6d2) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #8 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #9 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #16 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #17 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #25 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #26 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #28 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #29 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fc71d0 by thread T4 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:124:21 (liblixstore.so+0x34aa99) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fc71c0 allocated by thread T4: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:124:21 (liblixstore.so+0x34aa99) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T4 'addMultipleToStore pool' (tid=3390898, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fc7210 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_M_mbegin() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:737:64 (liblixstore.so+0x1fd6e3) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::less, std::allocator>::_M_begin() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:741:16 (liblixstore.so+0x1fd6e3) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:18 (liblixstore.so+0x1fd6e3) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6e3) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6e3) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6e3) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6e3) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6e3) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6e3) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6e3) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #17 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #33 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #34 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #35 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #36 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #37 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fc7210 by thread T4 (mutexes: write M0): #0 __tsan_memset (libclang_rt.tsan-x86_64.so+0x77ce0) #1 std::_Rb_tree_header::_Rb_tree_header() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:175:26 (liblixstore.so+0x34b424) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::_Rb_tree, std::less, std::allocator>::_Rb_tree_impl, true>::_Rb_tree_impl() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:669:4 (liblixstore.so+0x34b424) #3 std::_Rb_tree, std::less, std::allocator>::_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:930:7 (liblixstore.so+0x34b424) #4 std::set, std::allocator>::set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:169:7 (liblixstore.so+0x34b424) #5 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2268:2 (liblixstore.so+0x34b424) #6 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b424) #7 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b424) #8 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b424) #9 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b424) #10 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #12 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #13 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:124:21 (liblixstore.so+0x34aa99) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #17 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #18 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #21 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #23 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #24 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #25 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #26 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #27 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #28 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #30 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #31 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #32 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #33 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fc71c0 allocated by thread T4: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:124:21 (liblixstore.so+0x34aa99) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T4 'addMultipleToStore pool' (tid=3390898, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040be080 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #21 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #37 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #38 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #39 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #40 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #41 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040be080 by thread T4 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (liblixstore.so+0x34b3f1) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (liblixstore.so+0x34b3f1) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (liblixstore.so+0x34b3f1) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (liblixstore.so+0x34b3f1) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (liblixstore.so+0x34b3f1) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x34b3f1) #7 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2267:9 (liblixstore.so+0x34b3f1) #8 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b3f1) #9 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b3f1) #10 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b3f1) #11 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b3f1) #12 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #14 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:124:21 (liblixstore.so+0x34aa99) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #19 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #20 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #22 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #24 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #25 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #26 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #27 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #28 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #30 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #31 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #32 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #33 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #34 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #35 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T4 'addMultipleToStore pool' (tid=3390898, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721c00fc71c0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #13 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #14 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #20 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #30 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #31 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #32 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #33 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #34 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fc71c0 by thread T4 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:124:21 (liblixstore.so+0x34aa99) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T4 'addMultipleToStore pool' (tid=3390898, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fdc080 by main thread: #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (liblixstore.so+0x1fd6d2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (liblixstore.so+0x1fd6d2) #2 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #8 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #16 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #17 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #21 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #24 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #25 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #26 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #27 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #28 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fdc080 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fdc070 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fdc0c0 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_M_mbegin() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:737:64 (liblixstore.so+0x1fd6e3) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::less, std::allocator>::_M_begin() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:741:16 (liblixstore.so+0x1fd6e3) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:18 (liblixstore.so+0x1fd6e3) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6e3) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6e3) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6e3) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6e3) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6e3) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6e3) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6e3) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #16 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #32 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #33 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #34 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #35 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #36 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fdc0c0 by thread T9 (mutexes: write M0): #0 __tsan_memset (libclang_rt.tsan-x86_64.so+0x77ce0) #1 std::_Rb_tree_header::_Rb_tree_header() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:175:26 (liblixstore.so+0x34b424) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::_Rb_tree, std::less, std::allocator>::_Rb_tree_impl, true>::_Rb_tree_impl() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:669:4 (liblixstore.so+0x34b424) #3 std::_Rb_tree, std::less, std::allocator>::_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:930:7 (liblixstore.so+0x34b424) #4 std::set, std::allocator>::set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:169:7 (liblixstore.so+0x34b424) #5 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2268:2 (liblixstore.so+0x34b424) #6 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b424) #7 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b424) #8 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b424) #9 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b424) #10 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #12 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #13 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #17 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #18 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #21 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #23 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #24 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #25 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #26 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #27 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #28 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #30 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #31 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #32 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #33 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fdc070 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c2418 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #16 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #32 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #33 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #34 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #35 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #36 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2418 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c2400 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c2498 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #5 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #6 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #7 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #17 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #33 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #34 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #35 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #36 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #37 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2498 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c2480 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c2518 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_right(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:790:45 (nix+0xc0b6d) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:13 (nix+0xc0b6d) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #4 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #6 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #7 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #8 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #18 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #34 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #35 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #36 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #37 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #38 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2518 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c2500 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c2510 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #4 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #6 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #7 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #8 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #18 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #34 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #35 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #36 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #37 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #38 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2510 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c2500 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c2520 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #12 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #14 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #15 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #16 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #25 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #26 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #27 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #42 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #43 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #44 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #45 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #46 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2520 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c2500 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d819c0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #17 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #18 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #19 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #28 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #29 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #30 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #34 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #41 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #43 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #44 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #45 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #46 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #47 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #48 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #49 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d819c0 by thread T9 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c2500 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #11 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #12 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #13 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #23 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #24 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #39 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #40 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #41 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #42 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #43 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2500 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c2490 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #3 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #5 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #6 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #7 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #17 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #33 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #34 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #35 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #36 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #37 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2490 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c2480 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c24a0 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #13 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #14 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #15 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #24 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #25 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #26 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #41 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #42 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #43 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #44 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #45 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c24a0 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c2480 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d81960 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #16 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #17 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #18 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #27 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #28 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #29 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #33 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #40 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #43 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #44 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #45 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #46 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #47 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #48 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d81960 by thread T9 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c2480 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #10 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #11 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #12 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #22 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #23 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #38 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #39 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #40 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #41 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #42 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2480 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c2410 by main thread: #0 std::_Rb_tree, std::less, std::allocator>::_S_left(std::_Rb_tree_node_base*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:782:45 (nix+0xc0b82) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1937:21 (nix+0xc0b82) #2 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #4 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #5 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #6 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #16 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #32 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #33 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #34 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #35 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #36 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2410 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c2400 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x7210040c2420 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (nix+0xc0b8f) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (nix+0xc0b8f) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (nix+0xc0b8f) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b8f) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b8f) #5 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b8f) #6 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b8f) #7 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b8f) #8 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b8f) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b8f) #10 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #12 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #13 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #14 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #23 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #24 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #25 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #39 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #40 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #41 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #42 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #43 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #44 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2420 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 64 at 0x7210040c2400 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d818d0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #15 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #16 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #17 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #19 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #20 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #21 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #26 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #27 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #28 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #29 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #30 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #31 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #32 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #36 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #37 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #38 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #39 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #40 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #41 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #42 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #43 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #44 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #45 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #46 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #47 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d818d0 by thread T9 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (nix+0x19d126) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (nix+0x19d126) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (nix+0x19d126) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (nix+0x19d126) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (nix+0x19d126) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0x19d126) #7 decltype(::new((void*)(0)) nix::StorePath(std::declval())) std::construct_at(nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (nix+0x19d126) #8 void std::allocator_traits>>::construct(std::allocator>&, nix::StorePath*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (nix+0x19d126) #9 void std::_Rb_tree, std::less, std::allocator>::_M_construct_node(std::_Rb_tree_node*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (nix+0x19d126) #10 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_M_create_node(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (nix+0x19d00b) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree_node* std::_Rb_tree, std::less, std::allocator>::_Alloc_node::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:531:18 (nix+0x19d00b) #12 std::_Rb_tree_iterator std::_Rb_tree, std::less, std::allocator>::_M_insert_, std::less, std::allocator>::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, nix::StorePath const&, std::_Rb_tree, std::less, std::allocator>::_Alloc_node&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1831:19 (nix+0x19d00b) #13 std::pair, bool> std::_Rb_tree, std::less, std::allocator>::_M_insert_unique(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2176:16 (nix+0x19d00b) #14 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #16 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #18 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #19 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #21 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #22 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #24 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #25 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #26 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #27 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #28 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #29 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #30 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #31 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #32 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #33 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #34 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040c2400 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x1fd6ef) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x1fd6ef) #9 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6ef) #10 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6ef) #11 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6ef) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6ef) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6ef) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ef) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #21 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #37 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #38 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #39 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #40 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #41 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x7210040c2400 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::set, std::allocator>::insert(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:514:9 (liblixstore.so+0x34aa60) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:43 (liblixstore.so+0x34aa60) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Read of size 8 at 0x721c00fdc090 by main thread: #0 std::__cxx11::basic_string, std::allocator>::_M_data() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:223:28 (liblixstore.so+0x1fd6f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::__cxx11::basic_string, std::allocator>::_M_is_local() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:264:6 (liblixstore.so+0x1fd6f8) #2 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:282:7 (liblixstore.so+0x1fd6f8) #3 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6f8) #4 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6f8) #5 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6f8) #6 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6f8) #7 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6f8) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6f8) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6f8) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6f8) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #17 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #33 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #34 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #35 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #36 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #37 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fdc090 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Location is heap block of size 112 at 0x721c00fdc070 allocated by thread T9: #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d817e0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #19 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #20 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #36 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #37 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #38 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #39 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #40 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x720c02d817e0 by thread T9 (mutexes: write M0): #0 __tsan_memcpy (libclang_rt.tsan-x86_64.so+0x77bb8) #1 std::char_traits::copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:435:33 (liblixstore.so+0x34b3f1) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::_S_copy(char*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:430:4 (liblixstore.so+0x34b3f1) #3 std::__cxx11::basic_string, std::allocator>::_S_copy_chars(char*, char*, char*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:478:9 (liblixstore.so+0x34b3f1) #4 void std::__cxx11::basic_string, std::allocator>::_M_construct(char*, char*, std::forward_iterator_tag) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.tcc:247:2 (liblixstore.so+0x34b3f1) #5 std::__cxx11::basic_string, std::allocator>::basic_string(std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:551:2 (liblixstore.so+0x34b3f1) #6 nix::StorePath::StorePath(nix::StorePath const&) /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x34b3f1) #7 std::pair, std::allocator>>::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<...>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2267:9 (liblixstore.so+0x34b3f1) #8 std::pair, std::allocator>>::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/tuple:2255:9 (liblixstore.so+0x34b3f1) #9 decltype(::new((void*)(0)) std::pair, std::allocator>>(std::declval(), std::declval>(), std::declval>())) std::construct_at, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:97:39 (liblixstore.so+0x34b3f1) #10 void std::allocator_traits, std::allocator>>>>>::construct, std::allocator>>, std::piecewise_construct_t const&, std::tuple, std::tuple<>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:540:4 (liblixstore.so+0x34b3f1) #11 void std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_construct_node, std::tuple<>>(std::_Rb_tree_node, std::allocator>>>*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:597:8 (liblixstore.so+0x34b3f1) #12 std::_Rb_tree_node, std::allocator>>>* std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_create_node, std::tuple<>>(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:614:4 (liblixstore.so+0x34b174) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_Auto_node::_Auto_node, std::tuple<>>(std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>&, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1637:18 (liblixstore.so+0x34b174) #14 std::_Rb_tree_iterator, std::allocator>>> std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_emplace_hint_unique, std::tuple<>>(std::_Rb_tree_const_iterator, std::allocator>>>, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2462:13 (liblixstore.so+0x34b174) #15 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #19 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #20 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #22 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #23 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #24 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #25 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #26 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #27 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #28 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #29 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #30 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #31 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #32 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #33 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #34 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #35 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721c00fdc070 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #12 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #13 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #14 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #19 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #26 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #27 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #29 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #30 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #31 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #32 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #33 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous write of size 8 at 0x721c00fdc070 by thread T9 (mutexes: write M0): #0 malloc (libclang_rt.tsan-x86_64.so+0x8c3cf) #1 operator new(unsigned long) (libstdc++.so.6+0xbc95b) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:513:15 (liblixstore.so+0x34ae86) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== error (ignored): error: interrupted by the user ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x7210040ba500 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6a4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6a4) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6a4) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (liblixstore.so+0x1fd6a4) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (liblixstore.so+0x1fd6a4) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (liblixstore.so+0x1fd6a4) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (liblixstore.so+0x1fd6a4) #8 std::pair, std::allocator>>::~pair() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_iterator.h:2992:12 (liblixstore.so+0x1fd6a4) #9 void std::destroy_at, std::allocator>>>(std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (liblixstore.so+0x1fd6a4) #10 void std::allocator_traits, std::allocator>>>>>::destroy, std::allocator>>>(std::allocator, std::allocator>>>>&, std::pair, std::allocator>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (liblixstore.so+0x1fd6a4) #11 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_destroy_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (liblixstore.so+0x1fd6a4) #12 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (liblixstore.so+0x1fd6a4) #13 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6a4) #14 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (liblixstore.so+0x1fd6c9) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #16 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #17 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #19 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #20 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #23 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #33 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #34 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #35 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #36 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #37 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #38 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #39 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x7210040ba500 by thread T9 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (liblixstore.so+0x34adb3) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (liblixstore.so+0x34adb3) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (liblixstore.so+0x34adb3) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (liblixstore.so+0x34adb3) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (liblixstore.so+0x34adb3) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_lower_bound(std::_Rb_tree_node, std::allocator>>>*, std::_Rb_tree_node_base*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1952:7 (liblixstore.so+0x34adb3) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1271:16 (liblixstore.so+0x34adb3) #8 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1309:21 (liblixstore.so+0x34adb3) #9 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:509:17 (liblixstore.so+0x34adb3) #10 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:124:21 (liblixstore.so+0x34aa99) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #13 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #14 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #16 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #18 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #19 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #20 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #21 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #22 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #23 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #24 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #25 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #26 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #27 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #28 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #29 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T9 'addMultipleToStore pool' (tid=3390903, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #4 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #9 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #18 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #19 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #21 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #22 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721c00f91c48 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (liblixstore.so+0x1fd6ac) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::allocator, std::allocator>>>>::deallocate(std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (liblixstore.so+0x1fd6ac) #3 std::allocator_traits, std::allocator>>>>>::deallocate(std::allocator, std::allocator>>>>&, std::_Rb_tree_node, std::allocator>>>*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (liblixstore.so+0x1fd6ac) #4 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_put_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (liblixstore.so+0x1fd6ac) #5 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_drop_node(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (liblixstore.so+0x1fd6ac) #6 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_erase(std::_Rb_tree_node, std::allocator>>>*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (liblixstore.so+0x1fd6ac) #7 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3cb) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::~map() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:314:22 (liblixstore.so+0x34a3cb) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3cb) #10 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3cb) #11 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #17 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #18 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #19 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #20 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #21 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #22 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #24 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #25 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #26 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #27 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #28 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #29 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #30 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x721c00f91c48 by thread T3 (mutexes: write M0): #0 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::_M_lower_bound(std::_Rb_tree_node, std::allocator>>>*, std::_Rb_tree_node_base*, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h (liblixstore.so+0x34ad53) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #1 std::_Rb_tree, std::allocator>>, std::_Select1st, std::allocator>>>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1271:16 (liblixstore.so+0x34ad53) #2 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::lower_bound(nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:1309:21 (liblixstore.so+0x34ad53) #3 std::map, std::allocator>, std::less, std::allocator, std::allocator>>>>::operator[](nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_map.h:509:17 (liblixstore.so+0x34ad53) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:121:25 (liblixstore.so+0x34aa55) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #7 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #8 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #10 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #12 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #13 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #14 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #15 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #16 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #17 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #18 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #19 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #20 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #21 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #22 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #23 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d57fc0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #19 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3e4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x34a3e4) #21 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3e4) #22 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3e4) #23 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #24 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #28 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #35 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #38 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #39 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #40 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #41 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #42 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x720c02d57fc0 by thread T3 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (nix+0x2e0a9c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (nix+0x2e0a9c) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (nix+0x2e0a9c) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (nix+0x2e0a9c) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (nix+0x2e0a9c) #6 std::_Rb_tree, std::less, std::allocator>::_M_lower_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1968:7 (nix+0x2e0a9c) #7 std::_Rb_tree, std::less, std::allocator>::find(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2545:28 (nix+0x2e0a9c) #8 std::set, std::allocator>::count(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:751:21 (liblixstore.so+0x34aa43) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:120:37 (liblixstore.so+0x34aa43) #10 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #12 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #13 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #15 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #16 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #18 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #19 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #20 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #23 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #24 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #25 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #26 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #27 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #28 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721004092dd0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #10 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #13 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3e4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x34a3e4) #15 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3e4) #16 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3e4) #17 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #18 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #22 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #23 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #32 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #33 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #34 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #35 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #36 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x721004092dd0 by thread T3 (mutexes: write M0): #0 std::_Rb_tree, std::less, std::allocator>::_M_lower_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h (nix+0x2e0a43) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::find(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2545:28 (nix+0x2e0a43) #2 std::set, std::allocator>::count(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:751:21 (liblixstore.so+0x34aa43) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:120:37 (liblixstore.so+0x34aa43) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x720c02d580b0 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #19 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #20 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3e4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x34a3e4) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3e4) #23 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3e4) #24 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #39 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #40 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #41 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #42 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #43 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x720c02d580b0 by thread T3 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (nix+0x2e0af4) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (nix+0x2e0af4) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (nix+0x2e0af4) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (nix+0x2e0af4) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (nix+0x2e0af4) #6 std::_Rb_tree, std::less, std::allocator>::find(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2547:11 (nix+0x2e0af4) #7 std::set, std::allocator>::count(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:751:21 (liblixstore.so+0x34aa43) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:120:37 (liblixstore.so+0x34aa43) #9 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #10 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #11 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #12 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #13 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #14 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #16 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #17 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #18 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #19 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #20 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #21 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #22 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #23 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #24 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #25 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #26 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #27 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721004093210 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b5c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator>::deallocate(std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b5c) #3 std::allocator_traits>>::deallocate(std::allocator>&, std::_Rb_tree_node*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b5c) #4 std::_Rb_tree, std::less, std::allocator>::_M_put_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:567:9 (nix+0xc0b5c) #5 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:634:2 (nix+0xc0b5c) #6 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b5c) #7 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #8 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #10 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #11 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #13 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3e4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #15 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x34a3e4) #16 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3e4) #17 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3e4) #18 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #19 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #20 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #22 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #23 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #24 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #25 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #26 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #27 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #28 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #29 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #30 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #31 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #32 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #33 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #34 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #35 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #36 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #37 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x721004093210 by thread T3 (mutexes: write M0): #0 std::_Rb_tree, std::less, std::allocator>::_M_lower_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h (nix+0x2e0a43) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #1 std::_Rb_tree, std::less, std::allocator>::find(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2545:28 (nix+0x2e0a43) #2 std::set, std::allocator>::count(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:751:21 (liblixstore.so+0x34aa43) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #3 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:120:37 (liblixstore.so+0x34aa43) #4 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #6 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #7 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #9 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #10 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #11 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #12 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #14 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #15 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #16 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #17 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #18 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #19 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #20 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #21 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #22 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 in void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() ================== ================== WARNING: ThreadSanitizer: data race (pid=3390829) Write of size 8 at 0x721004093380 by main thread: #0 free (libclang_rt.tsan-x86_64.so+0x8863f) #1 std::__new_allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/new_allocator.h:172:2 (nix+0xc0b54) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::allocator::deallocate(char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/allocator.h:210:25 (nix+0xc0b54) #3 std::allocator_traits>::deallocate(std::allocator&, char*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:517:13 (nix+0xc0b54) #4 std::__cxx11::basic_string, std::allocator>::_M_destroy(unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:289:9 (nix+0xc0b54) #5 std::__cxx11::basic_string, std::allocator>::_M_dispose() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:283:4 (nix+0xc0b54) #6 std::__cxx11::basic_string, std::allocator>::~basic_string() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:804:9 (nix+0xc0b54) #7 nix::StorePath::~StorePath() /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 (nix+0xc0b54) #8 void std::destroy_at(nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_construct.h:88:15 (nix+0xc0b54) #9 void std::allocator_traits>>::destroy(std::allocator>&, nix::StorePath*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/alloc_traits.h:560:4 (nix+0xc0b54) #10 std::_Rb_tree, std::less, std::allocator>::_M_destroy_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:625:2 (nix+0xc0b54) #11 std::_Rb_tree, std::less, std::allocator>::_M_drop_node(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:633:2 (nix+0xc0b54) #12 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1938:4 (nix+0xc0b54) #13 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #14 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #15 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #19 std::_Rb_tree, std::less, std::allocator>::_M_erase(std::_Rb_tree_node*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1936:4 (nix+0xc0b79) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #20 std::_Rb_tree, std::less, std::allocator>::~_Rb_tree() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:986:9 (liblixstore.so+0x34a3e4) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #21 std::set, std::allocator>::~set() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:283:22 (liblixstore.so+0x34a3e4) #22 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph::~Graph() /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:93:12 (liblixstore.so+0x34a3e4) #23 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::~Sync() /home/asmadeus/lix/build2/lix/libutil/sync.hh:28:7 (liblixstore.so+0x34a3e4) #24 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:159:1 (liblixstore.so+0x3454f8) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #25 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #26 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #27 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #28 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #29 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #30 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #31 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #32 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #33 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #34 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #35 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #36 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #37 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #38 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #39 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #40 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #41 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #42 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #43 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) Previous read of size 8 at 0x721004093380 by thread T3 (mutexes: write M0): #0 memcmp (libclang_rt.tsan-x86_64.so+0x96f49) #1 std::char_traits::compare(char const*, char const*, unsigned long) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/char_traits.h:389:9 (nix+0x2e0a9c) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #2 std::__cxx11::basic_string, std::allocator>::compare(std::__cxx11::basic_string, std::allocator> const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3189:12 (nix+0x2e0a9c) #3 decltype(__detail::__char_traits_cmp_cat>(0)) std::operator<=>, std::allocator>(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/basic_string.h:3748:61 (nix+0x2e0a9c) #4 nix::StorePath::operator<(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libstore/path.hh:46:25 (nix+0x2e0a9c) #5 std::less::operator()(nix::StorePath const&, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_function.h:408:20 (nix+0x2e0a9c) #6 std::_Rb_tree, std::less, std::allocator>::_M_lower_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:1968:7 (nix+0x2e0a9c) #7 std::_Rb_tree, std::less, std::allocator>::find(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_tree.h:2545:28 (nix+0x2e0a9c) #8 std::set, std::allocator>::count(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/stl_set.h:751:21 (liblixstore.so+0x34aa43) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:120:37 (liblixstore.so+0x34aa43) #10 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #11 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #12 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #13 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #14 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #15 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #16 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #17 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #18 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #19 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #20 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #23 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #24 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #25 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #26 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #27 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #28 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Mutex M0 (0x7fffffff8e58) created at: #0 pthread_mutex_lock (libclang_rt.tsan-x86_64.so+0x88c0d) #1 __gthread_mutex_lock(pthread_mutex_t*) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/x86_64-unknown-linux-gnu/bits/gthr-default.h:749:12 (liblixstore.so+0x34a57b) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #2 std::mutex::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_mutex.h:113:17 (liblixstore.so+0x34a57b) #3 std::unique_lock::lock() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:141:17 (liblixstore.so+0x34a57b) #4 std::unique_lock::unique_lock(std::mutex&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/unique_lock.h:71:2 (liblixstore.so+0x34a57b) #5 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::Lock::Lock(nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>&) /home/asmadeus/lix/build2/lix/libutil/sync.hh:49:32 (liblixstore.so+0x34a57b) #6 nix::Sync(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::Graph, std::mutex>::lock() /home/asmadeus/lix/build2/lix/libutil/sync.hh:142:26 (liblixstore.so+0x34a57b) #7 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)::operator()(nix::StorePath const&) const /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:105:31 (liblixstore.so+0x34a57b) #8 nix::StorePath std::__invoke_impl(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(std::__invoke_other, void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34a436) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #9 std::enable_if(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>, nix::StorePath>::type std::__invoke_r(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&>(void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34a436) #10 std::_Function_handler(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function)::'lambda'(nix::StorePath const&)>::_M_invoke(std::_Any_data const&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34a436) #11 std::function::operator()(nix::StorePath const&) const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixstore.so+0x34bc8a) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #12 void std::__invoke_impl&, nix::StorePath const&>(std::__invoke_other, std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #13 std::__invoke_result&, nix::StorePath const&>::type std::__invoke&, nix::StorePath const&>(std::function&, nix::StorePath const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixstore.so+0x34bc8a) #14 void std::_Bind (std::reference_wrapper)>::__call(std::tuple<>&&, std::_Index_tuple<0ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:506:11 (liblixstore.so+0x34bc8a) #15 void std::_Bind (std::reference_wrapper)>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/functional:591:17 (liblixstore.so+0x34bc8a) #16 void std::__invoke_impl (std::reference_wrapper)>&>(std::__invoke_other, std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (liblixstore.so+0x34bc8a) #17 std::enable_if (std::reference_wrapper)>&>, void>::type std::__invoke_r (std::reference_wrapper)>&>(std::_Bind (std::reference_wrapper)>&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (liblixstore.so+0x34bc8a) #18 std::_Function_handler (std::reference_wrapper)>>::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (liblixstore.so+0x34bc8a) #19 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixutil.so+0x19e3f8) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #20 nix::ThreadPool::doWork(bool) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:161:13 (liblixutil.so+0x19e3f8) #21 void std::__invoke_impl(std::__invoke_memfun_deref, void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:74:14 (liblixutil.so+0x19fda4) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #22 std::__invoke_result::type std::__invoke(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:96:14 (liblixutil.so+0x19fda4) #23 void std::thread::_Invoker>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:292:13 (liblixutil.so+0x19fda4) #24 std::thread::_Invoker>::operator()() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:299:11 (liblixutil.so+0x19fda4) #25 std::thread::_State_impl>>::_M_run() /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_thread.h:244:13 (liblixutil.so+0x19fda4) #26 execute_native_thread_routine (libstdc++.so.6+0xe86d2) Thread T3 'addMultipleToStore pool' (tid=3390897, finished) created by main thread at: #0 pthread_create (libclang_rt.tsan-x86_64.so+0x88902) #1 std::thread::_M_start_thread(std::unique_ptr>, void (*)()) (libstdc++.so.6+0xe87a8) #2 std::thread& std::vector>::emplace_back(void (nix::ThreadPool::*&&)(bool), nix::ThreadPool*&&, bool&&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/vector.tcc:123:4 (liblixutil.so+0x19f142) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #3 nix::ThreadPool::enqueue(std::function const&) /home/asmadeus/lix/build2/lix/libutil/thread-pool.cc:51:24 (liblixutil.so+0x19dcd5) (BuildId: c131842b1fa1d708e3fdea4d9ab100be64b47e4b) #4 void nix::processGraph(nix::ThreadPool&, std::set, std::allocator> const&, std::function, std::allocator> (nix::StorePath const&)>, std::function) /home/asmadeus/lix/build2/lix/libutil/thread-pool.hh:153:14 (liblixstore.so+0x34523d) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #5 nix::Store::addMultipleToStore(std::vector>>, std::allocator>>>>&, nix::Activity&, nix::RepairFlag, nix::CheckSigsFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:311:5 (liblixstore.so+0x32ab58) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #6 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1259:14 (liblixstore.so+0x33a906) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #7 nix::copyPaths(nix::Store&, nix::Store&, std::set, std::allocator> const&, nix::RepairFlag, nix::CheckSigsFlag, nix::SubstituteFlag) /home/asmadeus/lix/build2/lix/libstore/store-api.cc:1138:21 (liblixstore.so+0x3391b2) (BuildId: 1698ea6cf614c3d3b133089c1d81f1d914f445d5) #8 CmdCopy::run(nix::ref, std::vector>&&) /home/asmadeus/lix/build2/lix/nix/copy.cc:57:9 (nix+0xf2a03) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #9 nix::BuiltPathsCommand::run(nix::ref, std::vector, std::allocator>>&&) /home/asmadeus/lix/build2/lix/libcmd/command.cc:180:5 (liblixcmd.so+0xe5cce) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #10 nix::InstallablesCommand::run(nix::ref, std::vector, std::allocator>, std::allocator, std::allocator>>>&&) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:846:5 (liblixcmd.so+0x133704) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #11 nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc:831:5 (liblixcmd.so+0x132981) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #12 virtual thunk to nix::RawInstallablesCommand::run(nix::ref) /home/asmadeus/lix/build2/lix/libcmd/installables.cc (liblixcmd.so+0x132b27) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #13 nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc:49:5 (liblixcmd.so+0xe2559) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #14 virtual thunk to nix::StoreCommand::run() /home/asmadeus/lix/build2/lix/libcmd/command.cc (liblixcmd.so+0xe26b0) (BuildId: b9cdcf2074ab443029c2031bc1c7ce5f2a915bd8) #15 nix::NixArgs::run() /home/asmadeus/lix/build2/lix/nix/main.cc:219:26 (nix+0x1cdc76) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #16 nix::mainWrapped(int, char**) /home/asmadeus/lix/build2/lix/nix/main.cc:529:10 (nix+0x1c3759) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #17 main::$_0::operator()() const /home/asmadeus/lix/build2/lix/nix/main.cc:546:9 (nix+0x1c6a15) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) #18 void std::__invoke_impl(std::__invoke_other, main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:61:14 (nix+0x1c6a15) #19 std::enable_if, void>::type std::__invoke_r(main::$_0&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/invoke.h:111:2 (nix+0x1c6a15) #20 std::_Function_handler::_M_invoke(std::_Any_data const&) /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:290:9 (nix+0x1c6a15) #21 std::function::operator()() const /nix/store/4krab2h0hd4wvxxmscxrw21pl77j4i7j-gcc-13.3.0/include/c++/13.3.0/bits/std_function.h:591:9 (liblixmain.so+0x35679) (BuildId: dc4a08e65c7b7d5715794b9f15c8c407973aceb0) #22 nix::handleExceptions(std::__cxx11::basic_string, std::allocator> const&, std::function) /home/asmadeus/lix/build2/lix/libmain/shared.cc:311:9 (liblixmain.so+0x35679) #23 main /home/asmadeus/lix/build2/lix/nix/main.cc:545:12 (nix+0x1c63fa) (BuildId: 798c5147478edcce74911b9aed81b449242021cf) SUMMARY: ThreadSanitizer: data race /home/asmadeus/lix/build2/lix/libstore/path.hh:20:7 in nix::StorePath::~StorePath() ================== error (ignored): error: interrupted by the user error: cannot enqueue a work item while the thread pool is shutting down ThreadSanitizer: reported 175 warnings