Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MaterializedMySQL: Data race with AsynchronousInsertQueue #59631

Open
Algunenano opened this issue Feb 6, 2024 · 2 comments
Open

MaterializedMySQL: Data race with AsynchronousInsertQueue #59631

Algunenano opened this issue Feb 6, 2024 · 2 comments
Assignees
Labels
testing Special issue with list of bugs found by CI

Comments

@Algunenano
Copy link
Member

Report: https://s3.amazonaws.com/clickhouse-test-reports/59485/d8ab490da8d711db40adfa4681dd07252f0f3df2/integration_tests__tsan__[4_6]//home/ubuntu/actions-runner/_work/_temp/test/output_dir/integration_run_parallel1_0.log

WARNING: ThreadSanitizer: data race (pid=8)
  Write of size 8 at 0x7b9800002868 by main thread:
    #0 std::__1::enable_if<is_move_constructible<DB::AsynchronousInsertQueue*>::value && is_move_assignable<DB::AsynchronousInsertQueue*>::value, void>::type std::__1::swap[abi:v15000]<DB::AsynchronousInsertQueue*>(DB::AsynchronousInsertQueue*&, DB::AsynchronousInsertQueue*&) build_docker/./contrib/llvm-project/libcxx/include/__utility/swap.h:37:7 (clickhouse+0x17d2a0c9) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #1 std::__1::shared_ptr<DB::AsynchronousInsertQueue>::swap[abi:v15000](std::__1::shared_ptr<DB::AsynchronousInsertQueue>&) build_docker/./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:761:9 (clickhouse+0x17d2a0c9)
    #2 std::__1::shared_ptr<DB::AsynchronousInsertQueue>::reset[abi:v15000]() build_docker/./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:768:22 (clickhouse+0x17d2a0c9)
    #3 DB::ContextSharedPart::shutdown() build_docker/./src/Interpreters/Context.cpp:561:28 (clickhouse+0x17d2a0c9)
    #4 DB::Context::shutdown() build_docker/./src/Interpreters/Context.cpp:4266:13 (clickhouse+0x17d19da1) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #5 DB::Server::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&)::$_1::operator()() const build_docker/./programs/server/Server.cpp:733:5 (clickhouse+0xf80e5fb) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #6 BasicScopeGuard<DB::Server::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&)::$_1>::invoke() build_docker/./base/base/../base/scope_guard.h:99:9 (clickhouse+0xf80e5fb)
    #7 BasicScopeGuard<DB::Server::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&)::$_1>::~BasicScopeGuard() build_docker/./base/base/../base/scope_guard.h:48:26 (clickhouse+0xf80e5fb)
    #8 DB::Server::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&) build_docker/./programs/server/Server.cpp:2070:1 (clickhouse+0xf802a2d) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #9 Poco::Util::Application::run() build_docker/./base/poco/Util/src/Application.cpp:315:8 (clickhouse+0x1e1bf03e) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #10 DB::Server::run() build_docker/./programs/server/Server.cpp:413:25 (clickhouse+0xf7ed761) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #11 Poco::Util::ServerApplication::run(int, char**) build_docker/./base/poco/Util/src/ServerApplication.cpp:131:9 (clickhouse+0x1e1dedd4) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #12 mainEntryClickHouseServer(int, char**) build_docker/./programs/server/Server.cpp:219:20 (clickhouse+0xf7ea8c3) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #13 main build_docker/./programs/main.cpp:515:12 (clickhouse+0x744354e) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)

  Previous read of size 8 at 0x7b9800002868 by thread T661:
    #0 std::__1::shared_ptr<DB::AsynchronousInsertQueue>::get[abi:v15000]() const build_docker/./contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:801:16 (clickhouse+0x17d1f508) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #1 DB::Context::getAsynchronousInsertQueue() const build_docker/./src/Interpreters/Context.cpp:4860:39 (clickhouse+0x17d1f508)
    #2 DB::executeQueryImpl(char const*, char const*, std::__1::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum, DB::ReadBuffer*) build_docker/./src/Interpreters/executeQuery.cpp:925:33 (clickhouse+0x18f301ee) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #3 DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum) build_docker/./src/Interpreters/executeQuery.cpp:1285:26 (clickhouse+0x18f2da17) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #4 DB::tryToExecuteQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) build_docker/./src/Databases/MySQL/MaterializedMySQLSyncThread.cpp:114:16 (clickhouse+0x17a5a2d3) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #5 DB::getTableOutput(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context>, bool) build_docker/./src/Databases/MySQL/MaterializedMySQLSyncThread.cpp:438:19 (clickhouse+0x17a5b160) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #6 DB::MaterializedMySQLSyncThread::Buffers::commit(std::__1::shared_ptr<DB::Context const>) build_docker/./src/Databases/MySQL/MaterializedMySQLSyncThread.cpp:1064:29 (clickhouse+0x17a5aa47) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #7 DB::MaterializedMySQLSyncThread::flushBuffersData(DB::MaterializedMySQLSyncThread::Buffers&, DB::MaterializeMetadata&)::$_0::operator()() const build_docker/./src/Databases/MySQL/MaterializedMySQLSyncThread.cpp:667:57 (clickhouse+0x17a6bf6f) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #8 decltype(std::declval<DB::MaterializedMySQLSyncThread::flushBuffersData(DB::MaterializedMySQLSyncThread::Buffers&, DB::MaterializeMetadata&)::$_0&>()()) std::__1::__invoke[abi:v15000]<DB::MaterializedMySQLSyncThread::flushBuffersData(DB::MaterializedMySQLSyncThread::Buffers&, DB::MaterializeMetadata&)::$_0&>(DB::MaterializedMySQLSyncThread::flushBuffersData(DB::MaterializedMySQLSyncThread::Buffers&, DB::MaterializeMetadata&)::$_0&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23 (clickhouse+0x17a6bf6f)
    #9 void std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::MaterializedMySQLSyncThread::flushBuffersData(DB::MaterializedMySQLSyncThread::Buffers&, DB::MaterializeMetadata&)::$_0&>(DB::MaterializedMySQLSyncThread::flushBuffersData(DB::MaterializedMySQLSyncThread::Buffers&, DB::MaterializeMetadata&)::$_0&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:479:9 (clickhouse+0x17a6bf6f)
    #10 std::__1::__function::__default_alloc_func<DB::MaterializedMySQLSyncThread::flushBuffersData(DB::MaterializedMySQLSyncThread::Buffers&, DB::MaterializeMetadata&)::$_0, void ()>::operator()[abi:v15000]() build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:235:12 (clickhouse+0x17a6bf6f)
    #11 void std::__1::__function::__policy_invoker<void ()>::__call_impl<std::__1::__function::__default_alloc_func<DB::MaterializedMySQLSyncThread::flushBuffersData(DB::MaterializedMySQLSyncThread::Buffers&, DB::MaterializeMetadata&)::$_0, void ()>>(std::__1::__function::__policy_storage const*) build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:716:16 (clickhouse+0x17a6bf6f)
    #12 std::__1::__function::__policy_func<void ()>::operator()[abi:v15000]() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:848:16 (clickhouse+0x17a7a98e) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #13 std::__1::function<void ()>::operator()() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:1187:12 (clickhouse+0x17a7a98e)
    #14 void DB::commitMetadata<std::__1::function<void ()> const&>(std::__1::function<void ()> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) build_docker/./src/Databases/MySQL/MaterializeMetadata.cpp:226:9 (clickhouse+0x17a7a98e)
    #15 DB::MaterializeMetadata::transaction(DB::MySQLReplication::Position const&, std::__1::function<void ()> const&) build_docker/./src/Databases/MySQL/MaterializeMetadata.cpp:259:5 (clickhouse+0x17a757b0) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #16 DB::MaterializedMySQLSyncThread::flushBuffersData(DB::MaterializedMySQLSyncThread::Buffers&, DB::MaterializeMetadata&) build_docker/./src/Databases/MySQL/MaterializedMySQLSyncThread.cpp:667:14 (clickhouse+0x17a54b84) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #17 DB::MaterializedMySQLSyncThread::synchronization() build_docker/./src/Databases/MySQL/MaterializedMySQLSyncThread.cpp:342:17 (clickhouse+0x17a4f044) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #18 DB::MaterializedMySQLSyncThread::startSynchronization()::$_0::operator()() const build_docker/./src/Databases/MySQL/MaterializedMySQLSyncThread.cpp:369:80 (clickhouse+0x17a61f6a) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #19 decltype(std::declval<DB::MaterializedMySQLSyncThread::startSynchronization()::$_0&>()()) std::__1::__invoke[abi:v15000]<DB::MaterializedMySQLSyncThread::startSynchronization()::$_0&>(DB::MaterializedMySQLSyncThread::startSynchronization()::$_0&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23 (clickhouse+0x17a61f6a)
    #20 decltype(auto) std::__1::__apply_tuple_impl[abi:v15000]<DB::MaterializedMySQLSyncThread::startSynchronization()::$_0&, std::__1::tuple<>&>(DB::MaterializedMySQLSyncThread::startSynchronization()::$_0&, std::__1::tuple<>&, std::__1::__tuple_indices<>) build_docker/./contrib/llvm-project/libcxx/include/tuple:1789:1 (clickhouse+0x17a61f6a)
    #21 decltype(auto) std::__1::apply[abi:v15000]<DB::MaterializedMySQLSyncThread::startSynchronization()::$_0&, std::__1::tuple<>&>(DB::MaterializedMySQLSyncThread::startSynchronization()::$_0&, std::__1::tuple<>&) build_docker/./contrib/llvm-project/libcxx/include/tuple:1798:1 (clickhouse+0x17a61f6a)
    #22 ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::MaterializedMySQLSyncThread::startSynchronization()::$_0>(DB::MaterializedMySQLSyncThread::startSynchronization()::$_0&&)::'lambda'()::operator()() build_docker/./src/Common/ThreadPool.h:223:13 (clickhouse+0x17a61f6a)
    #23 decltype(std::declval<DB::MaterializedMySQLSyncThread::startSynchronization()::$_0>()()) std::__1::__invoke[abi:v15000]<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::MaterializedMySQLSyncThread::startSynchronization()::$_0>(DB::MaterializedMySQLSyncThread::startSynchronization()::$_0&&)::'lambda'()&>(DB::MaterializedMySQLSyncThread::startSynchronization()::$_0&&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23 (clickhouse+0x17a61f6a)
    #24 void std::__1::__invoke_void_return_wrapper<void, true>::__call<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::MaterializedMySQLSyncThread::startSynchronization()::$_0>(DB::MaterializedMySQLSyncThread::startSynchronization()::$_0&&)::'lambda'()&>(ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::MaterializedMySQLSyncThread::startSynchronization()::$_0>(DB::MaterializedMySQLSyncThread::startSynchronization()::$_0&&)::'lambda'()&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:479:9 (clickhouse+0x17a61f6a)
    #25 std::__1::__function::__default_alloc_func<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::MaterializedMySQLSyncThread::startSynchronization()::$_0>(DB::MaterializedMySQLSyncThread::startSynchronization()::$_0&&)::'lambda'(), void ()>::operator()[abi:v15000]() build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:235:12 (clickhouse+0x17a61f6a)
    #26 void std::__1::__function::__policy_invoker<void ()>::__call_impl<std::__1::__function::__default_alloc_func<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::MaterializedMySQLSyncThread::startSynchronization()::$_0>(DB::MaterializedMySQLSyncThread::startSynchronization()::$_0&&)::'lambda'(), void ()>>(std::__1::__function::__policy_storage const*) build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:716:16 (clickhouse+0x17a61f6a)
    #27 std::__1::__function::__policy_func<void ()>::operator()[abi:v15000]() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:848:16 (clickhouse+0xf8575ee) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #28 std::__1::function<void ()>::operator()() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:1187:12 (clickhouse+0xf8575ee)
    #29 ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) build_docker/./src/Common/ThreadPool.cpp:455:13 (clickhouse+0xf8575ee)
    #30 void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()::operator()() const build_docker/./src/Common/ThreadPool.cpp:217:73 (clickhouse+0xf85d4b1) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #31 decltype(std::declval<void>()()) std::__1::__invoke[abi:v15000]<void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>(void&&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23 (clickhouse+0xf85d4b1)
    #32 void std::__1::__thread_execute[abi:v15000]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>(std::__1::tuple<void, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>&, std::__1::__tuple_indices<>) build_docker/./contrib/llvm-project/libcxx/include/thread:284:5 (clickhouse+0xf85d4b1)
    #33 void* std::__1::__thread_proxy[abi:v15000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>>(void*) build_docker/./contrib/llvm-project/libcxx/include/thread:295:5 (clickhouse+0xf85d4b1)

  Location is heap block of size 10560 at 0x7b9800000000 allocated by main thread:
    #0 operator new(unsigned long, std::align_val_t) <null> (clickhouse+0x744151b) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #1 std::__1::__unique_if<DB::ContextSharedPart>::__unique_single std::__1::make_unique[abi:v15000]<DB::ContextSharedPart>() build_docker/./contrib/llvm-project/libcxx/include/__memory/unique_ptr.h:714:28 (clickhouse+0x17cee9c1) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #2 DB::Context::createShared() build_docker/./src/Interpreters/Context.cpp:809:32 (clickhouse+0x17cee9c1)
    #3 DB::Server::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&) build_docker/./programs/server/Server.cpp:686:27 (clickhouse+0xf7efe47) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #4 Poco::Util::Application::run() build_docker/./base/poco/Util/src/Application.cpp:315:8 (clickhouse+0x1e1bf03e) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #5 DB::Server::run() build_docker/./programs/server/Server.cpp:413:25 (clickhouse+0xf7ed761) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #6 Poco::Util::ServerApplication::run(int, char**) build_docker/./base/poco/Util/src/ServerApplication.cpp:131:9 (clickhouse+0x1e1dedd4) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #7 mainEntryClickHouseServer(int, char**) build_docker/./programs/server/Server.cpp:219:20 (clickhouse+0xf7ea8c3) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #8 main build_docker/./programs/main.cpp:515:12 (clickhouse+0x744354e) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)

  Thread T661 'MySQLDBSync' (tid=672, running) created by thread T2 at:
    #0 pthread_create <null> (clickhouse+0x73bafab) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #1 std::__1::__libcpp_thread_create[abi:v15000](unsigned long*, void* (*)(void*), void*) build_docker/./contrib/llvm-project/libcxx/include/__threading_support:376:10 (clickhouse+0xf85cafe) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #2 std::__1::thread::thread<void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'(), void>(void&&) build_docker/./contrib/llvm-project/libcxx/include/thread:311:16 (clickhouse+0xf85cafe)
    #3 void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool) build_docker/./src/Common/ThreadPool.cpp:217:35 (clickhouse+0xf856361) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #4 ThreadPoolImpl<std::__1::thread>::scheduleOrThrow(std::__1::function<void ()>, Priority, unsigned long, bool) build_docker/./src/Common/ThreadPool.cpp:288:5 (clickhouse+0xf85f146) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #5 ThreadFromGlobalPoolImpl<false>::ThreadFromGlobalPoolImpl<void ThreadPoolImpl<ThreadFromGlobalPoolImpl<false>>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::'lambda0'()>(void&&) build_docker/./src/Common/ThreadPool.h:203:38 (clickhouse+0xf85f146)
    #6 void ThreadPoolImpl<ThreadFromGlobalPoolImpl<false>>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool) build_docker/./src/Common/ThreadPool.cpp:217:35 (clickhouse+0xf858ea3) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #7 ThreadPoolImpl<ThreadFromGlobalPoolImpl<false>>::scheduleOrThrowOnError(std::__1::function<void ()>, Priority) build_docker/./src/Common/ThreadPool.cpp:276:5 (clickhouse+0xf858aca) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #8 DB::MergeTreeDataSelectExecutor::filterPartsByPrimaryKeyAndSkipIndexes(std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>>&&, std::__1::vector<std::__1::shared_ptr<DB::AlterConversions const>, std::__1::allocator<std::__1::shared_ptr<DB::AlterConversions const>>>&&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const>, std::__1::shared_ptr<DB::Context const> const&, DB::KeyCondition const&, std::__1::optional<DB::KeyCondition> const&, DB::UsefulSkipIndexes const&, DB::MergeTreeReaderSettings const&, std::__1::shared_ptr<Poco::Logger>, unsigned long, std::__1::vector<DB::ReadFromMergeTree::IndexStat, std::__1::allocator<DB::ReadFromMergeTree::IndexStat>>&, bool) build_docker/./src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp:750:22 (clickhouse+0x19fd7a9e) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #9 DB::ReadFromMergeTree::selectRangesToReadImpl(std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>>, std::__1::vector<std::__1::shared_ptr<DB::AlterConversions const>, std::__1::allocator<std::__1::shared_ptr<DB::AlterConversions const>>>, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&, DB::SelectQueryInfo const&, std::__1::shared_ptr<DB::Context const>, unsigned long, std::__1::shared_ptr<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, long, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, long>>>>, DB::MergeTreeData const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, bool, std::__1::shared_ptr<Poco::Logger>, std::__1::optional<DB::ReadFromMergeTree::Indexes>&) build_docker/./src/Processors/QueryPlan/ReadFromMergeTree.cpp:1589:36 (clickhouse+0x1ad0edaf) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #10 DB::ReadFromMergeTree::selectRangesToRead(std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>>, std::__1::vector<std::__1::shared_ptr<DB::AlterConversions const>, std::__1::allocator<std::__1::shared_ptr<DB::AlterConversions const>>>, std::__1::shared_ptr<DB::PrewhereInfo> const&, DB::ActionDAGNodes const&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&, DB::SelectQueryInfo const&, std::__1::shared_ptr<DB::Context const>, unsigned long, std::__1::shared_ptr<std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, long, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, long>>>>, DB::MergeTreeData const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, bool, std::__1::shared_ptr<Poco::Logger>, std::__1::optional<DB::ReadFromMergeTree::Indexes>&) build_docker/./src/Processors/QueryPlan/ReadFromMergeTree.cpp:1485:12 (clickhouse+0x1ad0af86) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #11 DB::ReadFromMergeTree::selectRangesToRead(std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const>>>, std::__1::vector<std::__1::shared_ptr<DB::AlterConversions const>, std::__1::allocator<std::__1::shared_ptr<DB::AlterConversions const>>>) const build_docker/./src/Processors/QueryPlan/ReadFromMergeTree.cpp:1271:12 (clickhouse+0x1ad0ab6d) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #12 DB::ReadFromMergeTree::getAnalysisResult() const build_docker/./src/Processors/QueryPlan/ReadFromMergeTree.cpp:1774:11 (clickhouse+0x1ad121bf) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #13 DB::ReadFromMergeTree::initializePipeline(DB::QueryPipelineBuilder&, DB::BuildQueryPipelineSettings const&) build_docker/./src/Processors/QueryPlan/ReadFromMergeTree.cpp:1883:19 (clickhouse+0x1ad14715) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #14 DB::ISourceStep::updatePipeline(std::__1::vector<std::__1::unique_ptr<DB::QueryPipelineBuilder, std::__1::default_delete<DB::QueryPipelineBuilder>>, std::__1::allocator<std::__1::unique_ptr<DB::QueryPipelineBuilder, std::__1::default_delete<DB::QueryPipelineBuilder>>>>, DB::BuildQueryPipelineSettings const&) build_docker/./src/Processors/QueryPlan/ISourceStep.cpp:20:5 (clickhouse+0x1acc28c1) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #15 DB::QueryPlan::buildQueryPipeline(DB::QueryPlanOptimizationSettings const&, DB::BuildQueryPipelineSettings const&) build_docker/./src/Processors/QueryPlan/QueryPlan.cpp:188:47 (clickhouse+0x1ace9c9d) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #16 DB::InterpreterSelectWithUnionQuery::execute() build_docker/./src/Interpreters/InterpreterSelectWithUnionQuery.cpp:380:31 (clickhouse+0x18ab61a1) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #17 DB::executeQueryImpl(char const*, char const*, std::__1::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum, DB::ReadBuffer*) build_docker/./src/Interpreters/executeQuery.cpp:1106:40 (clickhouse+0x18f324d5) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #18 DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum) build_docker/./src/Interpreters/executeQuery.cpp:1285:26 (clickhouse+0x18f2da17) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #19 DB::TCPHandler::runImpl() build_docker/./src/Server/TCPHandler.cpp:520:54 (clickhouse+0x1a60255d) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #20 DB::TCPHandler::run() build_docker/./src/Server/TCPHandler.cpp:2314:9 (clickhouse+0x1a621787) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #21 Poco::Net::TCPServerConnection::start() build_docker/./base/poco/Net/src/TCPServerConnection.cpp:43:3 (clickhouse+0x1e1a56e2) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #22 Poco::Net::TCPServerDispatcher::run() build_docker/./base/poco/Net/src/TCPServerDispatcher.cpp:115:20 (clickhouse+0x1e1a5f5a) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #23 Poco::PooledThread::run() build_docker/./base/poco/Foundation/src/ThreadPool.cpp:188:14 (clickhouse+0x1e3a70c6) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #24 Poco::(anonymous namespace)::RunnableHolder::run() build_docker/./base/poco/Foundation/src/Thread.cpp:45:11 (clickhouse+0x1e3a538f) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)
    #25 Poco::ThreadImpl::runnableEntry(void*) build_docker/./base/poco/Foundation/src/Thread_POSIX.cpp:335:27 (clickhouse+0x1e3a3849) (BuildId: 938dd0a0508665dd2aca321ce76123029e69090c)

SUMMARY: ThreadSanitizer: data race build_docker/./contrib/llvm-project/libcxx/include/__utility/swap.h:37:7 in std::__1::enable_if<is_move_constructible<DB::AsynchronousInsertQueue*>::value && is_move_assignable<DB::AsynchronousInsertQueue*>::value, void>::type std::__1::swap[abi:v15000]<DB::AsynchronousInsertQueue*>(DB::AsynchronousInsertQueue*&, DB::AsynchronousInsertQueue*&)
@Algunenano Algunenano added the testing Special issue with list of bugs found by CI label Feb 6, 2024
@jkartseva
Copy link
Contributor

WIP addressing the issue: #59082

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
testing Special issue with list of bugs found by CI
Projects
None yet
Development

No branches or pull requests

4 participants