infiniflow / infinity

The AI-native database built for LLM applications, providing incredibly fast hybrid search of dense vector, sparse vector, tensor (multi-vector), and full-text
https://infiniflow.org
Apache License 2.0
2.55k stars 270 forks source link

[Bug]: memory leak #1605

Closed small-turtle-1 closed 1 month ago

small-turtle-1 commented 2 months ago

Is there an existing issue for the same bug?

Version or Commit ID

68e50f7

Other environment information

No response

Actual behavior and How to reproduce it

reproduce: run python ./tools/run_pytest_parallel.py && python ./tools/run_http_api.py and shutdown infinity.

Expected behavior

No response

Additional information

No response

small-turtle-1 commented 2 months ago
=================================================================
==2873846==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 480 byte(s) in 5 object(s) allocated from:
    #0 0x5896b72a5d41 in operator new(unsigned long) (/home/huikong/Code/work/infinity/build/Debug/src/infinity+0xb8ed41) (BuildId: c1d91f92c060139d18c513d775d88c89c138f397)
    #1 0x5896b77c8f76 in infinity::InfinityThriftService@infinity_thrift_service::Select(infinity_thrift_rpc::SelectResponse&, infinity_thrift_rpc::SelectRequest const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:488:23
    #2 0x5896b7606bbf in infinity_thrift_rpc::InfinityServiceProcessor::process_Select(int, apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:8134:13
    #3 0x5896b75fb5cd in infinity_thrift_rpc::InfinityServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:7621:3
    #4 0x5896b7654de7 in apache::thrift::TDispatchProcessor::process(std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, void*) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/TDispatchProcessor.h:121:12
    #5 0x5896bc801541 in apache::thrift::server::TConnectedClient::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/server/TConnectedClient.cpp:61:24
    #6 0x5896bc7b8690 in apache::thrift::concurrency::ThreadManager::Task::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:195:18
    #7 0x5896bc7b07ff in apache::thrift::concurrency::ThreadManager::Worker::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:310:19
    #8 0x5896bc7e8129 in apache::thrift::concurrency::Thread::threadMain(std::__1::shared_ptr<apache::thrift::concurrency::Thread>) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/Thread.cpp:28:23
    #9 0x5896bc7e75e7 in decltype(std::declval<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>)>()(std::declval<std::__1::shared_ptr<apache::thrift::concurrency::Thread>>())) std::__1::__invoke[abi:ne180100]<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>(void (*&&)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>&&) /usr/lib/llvm-18/include/c++/v1/__type_traits/invoke.h:344:25
    #10 0x5896bc7e74cd in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:193:3
    #11 0x5896bc7e70e5 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>>(void*) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:202:3
    #12 0x5896b726520c in asan_thread_start(void*) asan_interceptors.cpp.o

Direct leak of 336 byte(s) in 3 object(s) allocated from:
    #0 0x5896b72a5d41 in operator new(unsigned long) (/home/huikong/Code/work/infinity/build/Debug/src/infinity+0xb8ed41) (BuildId: c1d91f92c060139d18c513d775d88c89c138f397)
    #1 0x5896b77e3c9d in infinity::InfinityThriftService@infinity_thrift_service::GetMatchSparseExprFromProto(infinity::Status@status&, infinity_thrift_rpc::MatchSparseExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1819:30
    #2 0x5896b77cac06 in infinity::InfinityThriftService@infinity_thrift_service::GetGenericMatchExprFromProto(infinity::Status@status&, infinity_thrift_rpc::GenericMatchExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1879:28
    #3 0x5896b77c910f in infinity::InfinityThriftService@infinity_thrift_service::Select(infinity_thrift_rpc::SelectResponse&, infinity_thrift_rpc::SelectRequest const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:496:38
    #4 0x5896b7606bbf in infinity_thrift_rpc::InfinityServiceProcessor::process_Select(int, apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:8134:13
    #5 0x5896b75fb5cd in infinity_thrift_rpc::InfinityServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:7621:3
    #6 0x5896b7654de7 in apache::thrift::TDispatchProcessor::process(std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, void*) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/TDispatchProcessor.h:121:12
    #7 0x5896bc801541 in apache::thrift::server::TConnectedClient::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/server/TConnectedClient.cpp:61:24
    #8 0x5896bc7b8690 in apache::thrift::concurrency::ThreadManager::Task::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:195:18
    #9 0x5896bc7b07ff in apache::thrift::concurrency::ThreadManager::Worker::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:310:19
    #10 0x5896bc7e8129 in apache::thrift::concurrency::Thread::threadMain(std::__1::shared_ptr<apache::thrift::concurrency::Thread>) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/Thread.cpp:28:23
    #11 0x5896bc7e75e7 in decltype(std::declval<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>)>()(std::declval<std::__1::shared_ptr<apache::thrift::concurrency::Thread>>())) std::__1::__invoke[abi:ne180100]<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>(void (*&&)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>&&) /usr/lib/llvm-18/include/c++/v1/__type_traits/invoke.h:344:25
    #12 0x5896bc7e74cd in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:193:3
    #13 0x5896bc7e70e5 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>>(void*) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:202:3
    #14 0x5896b726520c in asan_thread_start(void*) asan_interceptors.cpp.o

Direct leak of 144 byte(s) in 18 object(s) allocated from:
    #0 0x5896b724f42e in strdup (/home/huikong/Code/work/infinity/build/Debug/src/infinity+0xb3842e) (BuildId: c1d91f92c060139d18c513d775d88c89c138f397)
    #1 0x5896bc014ef3 in sqllex(SQLSTYPE*, SQL_LTYPE*, void*) /home/huikong/Code/work/infinity/build/Debug/lexer.l:240:25
    #2 0x5896bc0ad719 in sqlparse(void*, infinity::ParserResult*) /home/huikong/Code/work/infinity/build/Debug/parser.cpp:3303:16
    #3 0x5896bc0408f8 in infinity::SQLParser::Parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, infinity::ParserResult*) /home/huikong/Code/work/infinity/src/parser/sql_parser.cpp:39:9
    #4 0x5896b79a7813 in infinity::QueryContext@query_context::Query(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) /home/huikong/Code/work/infinity/src/main/query_context.cpp:93:14
    #5 0x5896b743ab99 in infinity::Connection@connection::HandlerSimpleQuery(infinity::QueryContext@query_context*) /home/huikong/Code/work/infinity/src/network/connection.cpp:160:41
    #6 0x5896b743a450 in infinity::Connection@connection::HandleRequest() /home/huikong/Code/work/infinity/src/network/connection.cpp:137:13
    #7 0x5896b7439074 in infinity::Connection@connection::Run() /home/huikong/Code/work/infinity/src/network/connection.cpp:84:13
    #8 0x5896b781205a in infinity::PGServer@pg_server::StartConnection(std::__1::shared_ptr<infinity::Connection@connection>&)::$_0::operator()() /home/huikong/Code/work/infinity/src/network/pg_server.cpp:83:29
    #9 0x5896b7811e14 in decltype(std::declval<infinity::PGServer@pg_server::StartConnection(std::__1::shared_ptr<infinity::Connection@connection>&)::$_0>()()) std::__1::__invoke[abi:ne180100]<infinity::PGServer@pg_server::StartConnection(std::__1::shared_ptr<infinity::Connection@connection>&)::$_0>(infinity::PGServer@pg_server::StartConnection(std::__1::shared_ptr<infinity::Connection@connection>&)::$_0&&) /usr/lib/llvm-18/include/c++/v1/__type_traits/invoke.h:344:25
    #10 0x5896b7811dec in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, infinity::PGServer@pg_server::StartConnection(std::__1::shared_ptr<infinity::Connection@connection>&)::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, infinity::PGServer@pg_server::StartConnection(std::__1::shared_ptr<infinity::Connection@connection>&)::$_0>&, std::__1::__tuple_indices<...>) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:193:3
    #11 0x5896b7811a65 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, infinity::PGServer@pg_server::StartConnection(std::__1::shared_ptr<infinity::Connection@connection>&)::$_0>>(void*) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:202:3
    #12 0x5896b726520c in asan_thread_start(void*) asan_interceptors.cpp.o

Direct leak of 120 byte(s) in 5 object(s) allocated from:
    #0 0x5896b72a5d41 in operator new(unsigned long) (/home/huikong/Code/work/infinity/build/Debug/src/infinity+0xb8ed41) (BuildId: c1d91f92c060139d18c513d775d88c89c138f397)
    #1 0x5896b77c8fab in infinity::InfinityThriftService@infinity_thrift_service::Select(infinity_thrift_rpc::SelectResponse&, infinity_thrift_rpc::SelectRequest const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:489:33
    #2 0x5896b7606bbf in infinity_thrift_rpc::InfinityServiceProcessor::process_Select(int, apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:8134:13
    #3 0x5896b75fb5cd in infinity_thrift_rpc::InfinityServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:7621:3
    #4 0x5896b7654de7 in apache::thrift::TDispatchProcessor::process(std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, void*) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/TDispatchProcessor.h:121:12
    #5 0x5896bc801541 in apache::thrift::server::TConnectedClient::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/server/TConnectedClient.cpp:61:24
    #6 0x5896bc7b8690 in apache::thrift::concurrency::ThreadManager::Task::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:195:18
    #7 0x5896bc7b07ff in apache::thrift::concurrency::ThreadManager::Worker::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:310:19
    #8 0x5896bc7e8129 in apache::thrift::concurrency::Thread::threadMain(std::__1::shared_ptr<apache::thrift::concurrency::Thread>) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/Thread.cpp:28:23
    #9 0x5896bc7e75e7 in decltype(std::declval<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>)>()(std::declval<std::__1::shared_ptr<apache::thrift::concurrency::Thread>>())) std::__1::__invoke[abi:ne180100]<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>(void (*&&)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>&&) /usr/lib/llvm-18/include/c++/v1/__type_traits/invoke.h:344:25
    #10 0x5896bc7e74cd in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:193:3
    #11 0x5896bc7e70e5 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>>(void*) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:202:3
    #12 0x5896b726520c in asan_thread_start(void*) asan_interceptors.cpp.o

Direct leak of 120 byte(s) in 5 object(s) allocated from:
    #0 0x5896b72a5d41 in operator new(unsigned long) (/home/huikong/Code/work/infinity/build/Debug/src/infinity+0xb8ed41) (BuildId: c1d91f92c060139d18c513d775d88c89c138f397)
    #1 0x5896b77c8a00 in infinity::InfinityThriftService@infinity_thrift_service::Select(infinity_thrift_rpc::SelectResponse&, infinity_thrift_rpc::SelectRequest const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:458:44
    #2 0x5896b7606bbf in infinity_thrift_rpc::InfinityServiceProcessor::process_Select(int, apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:8134:13
    #3 0x5896b75fb5cd in infinity_thrift_rpc::InfinityServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:7621:3
    #4 0x5896b7654de7 in apache::thrift::TDispatchProcessor::process(std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, void*) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/TDispatchProcessor.h:121:12
    #5 0x5896bc801541 in apache::thrift::server::TConnectedClient::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/server/TConnectedClient.cpp:61:24
    #6 0x5896bc7b8690 in apache::thrift::concurrency::ThreadManager::Task::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:195:18
    #7 0x5896bc7b07ff in apache::thrift::concurrency::ThreadManager::Worker::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:310:19
    #8 0x5896bc7e8129 in apache::thrift::concurrency::Thread::threadMain(std::__1::shared_ptr<apache::thrift::concurrency::Thread>) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/Thread.cpp:28:23
    #9 0x5896bc7e75e7 in decltype(std::declval<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>)>()(std::declval<std::__1::shared_ptr<apache::thrift::concurrency::Thread>>())) std::__1::__invoke[abi:ne180100]<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>(void (*&&)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>&&) /usr/lib/llvm-18/include/c++/v1/__type_traits/invoke.h:344:25
    #10 0x5896bc7e74cd in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:193:3
    #11 0x5896bc7e70e5 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>>(void*) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:202:3
    #12 0x5896b726520c in asan_thread_start(void*) asan_interceptors.cpp.o

Indirect leak of 800 byte(s) in 10 object(s) allocated from:
    #0 0x5896b72a5d41 in operator new(unsigned long) (/home/huikong/Code/work/infinity/build/Debug/src/infinity+0xb8ed41) (BuildId: c1d91f92c060139d18c513d775d88c89c138f397)
    #1 0x5896b77e0ee7 in infinity::InfinityThriftService@infinity_thrift_service::GetFunctionExprFromProto(infinity::Status@status&, infinity_thrift_rpc::FunctionExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1738:25
    #2 0x5896b77ca6fb in infinity::InfinityThriftService@infinity_thrift_service::GetParsedExprFromProto(infinity::Status@status&, infinity_thrift_rpc::ParsedExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1917:28
    #3 0x5896b77c8b40 in infinity::InfinityThriftService@infinity_thrift_service::Select(infinity_thrift_rpc::SelectResponse&, infinity_thrift_rpc::SelectRequest const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:463:28
    #4 0x5896b7606bbf in infinity_thrift_rpc::InfinityServiceProcessor::process_Select(int, apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:8134:13
    #5 0x5896b75fb5cd in infinity_thrift_rpc::InfinityServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:7621:3
    #6 0x5896b7654de7 in apache::thrift::TDispatchProcessor::process(std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, void*) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/TDispatchProcessor.h:121:12
    #7 0x5896bc801541 in apache::thrift::server::TConnectedClient::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/server/TConnectedClient.cpp:61:24
    #8 0x5896bc7b8690 in apache::thrift::concurrency::ThreadManager::Task::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:195:18
    #9 0x5896bc7b07ff in apache::thrift::concurrency::ThreadManager::Worker::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:310:19
    #10 0x5896bc7e8129 in apache::thrift::concurrency::Thread::threadMain(std::__1::shared_ptr<apache::thrift::concurrency::Thread>) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/Thread.cpp:28:23
    #11 0x5896bc7e75e7 in decltype(std::declval<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>)>()(std::declval<std::__1::shared_ptr<apache::thrift::concurrency::Thread>>())) std::__1::__invoke[abi:ne180100]<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>(void (*&&)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>&&) /usr/lib/llvm-18/include/c++/v1/__type_traits/invoke.h:344:25
    #12 0x5896bc7e74cd in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:193:3
    #13 0x5896bc7e70e5 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>>(void*) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:202:3
    #14 0x5896b726520c in asan_thread_start(void*) asan_interceptors.cpp.o

Indirect leak of 768 byte(s) in 3 object(s) allocated from:
    #0 0x5896b72a5d41 in operator new(unsigned long) (/home/huikong/Code/work/infinity/build/Debug/src/infinity+0xb8ed41) (BuildId: c1d91f92c060139d18c513d775d88c89c138f397)
    #1 0x5896b77c5f5f in infinity::InfinityThriftService@infinity_thrift_service::GetConstantFromProto(infinity::Status@status&, infinity_thrift_rpc::ConstantExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1708:32
    #2 0x5896b77e3d09 in infinity::InfinityThriftService@infinity_thrift_service::GetMatchSparseExprFromProto(infinity::Status@status&, infinity_thrift_rpc::MatchSparseExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1823:27
    #3 0x5896b77cac06 in infinity::InfinityThriftService@infinity_thrift_service::GetGenericMatchExprFromProto(infinity::Status@status&, infinity_thrift_rpc::GenericMatchExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1879:28
    #4 0x5896b77c910f in infinity::InfinityThriftService@infinity_thrift_service::Select(infinity_thrift_rpc::SelectResponse&, infinity_thrift_rpc::SelectRequest const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:496:38
    #5 0x5896b7606bbf in infinity_thrift_rpc::InfinityServiceProcessor::process_Select(int, apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:8134:13
    #6 0x5896b75fb5cd in infinity_thrift_rpc::InfinityServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:7621:3
    #7 0x5896b7654de7 in apache::thrift::TDispatchProcessor::process(std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, void*) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/TDispatchProcessor.h:121:12
    #8 0x5896bc801541 in apache::thrift::server::TConnectedClient::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/server/TConnectedClient.cpp:61:24
    #9 0x5896bc7b8690 in apache::thrift::concurrency::ThreadManager::Task::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:195:18
    #10 0x5896bc7b07ff in apache::thrift::concurrency::ThreadManager::Worker::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:310:19
    #11 0x5896bc7e8129 in apache::thrift::concurrency::Thread::threadMain(std::__1::shared_ptr<apache::thrift::concurrency::Thread>) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/Thread.cpp:28:23
    #12 0x5896bc7e75e7 in decltype(std::declval<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>)>()(std::declval<std::__1::shared_ptr<apache::thrift::concurrency::Thread>>())) std::__1::__invoke[abi:ne180100]<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>(void (*&&)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>&&) /usr/lib/llvm-18/include/c++/v1/__type_traits/invoke.h:344:25
    #13 0x5896bc7e74cd in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:193:3
    #14 0x5896bc7e70e5 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>>(void*) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:202:3
    #15 0x5896b726520c in asan_thread_start(void*) asan_interceptors.cpp.o

Indirect leak of 360 byte(s) in 5 object(s) allocated from:
    #0 0x5896b72a5d41 in operator new(unsigned long) (/home/huikong/Code/work/infinity/build/Debug/src/infinity+0xb8ed41) (BuildId: c1d91f92c060139d18c513d775d88c89c138f397)
    #1 0x5896b77e0a73 in infinity::InfinityThriftService@infinity_thrift_service::GetColumnExprFromProto(infinity_thrift_rpc::ColumnExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1727:24
    #2 0x5896b77ca59d in infinity::InfinityThriftService@infinity_thrift_service::GetParsedExprFromProto(infinity::Status@status&, infinity_thrift_rpc::ParsedExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1911:28
    #3 0x5896b77c8b40 in infinity::InfinityThriftService@infinity_thrift_service::Select(infinity_thrift_rpc::SelectResponse&, infinity_thrift_rpc::SelectRequest const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:463:28
    #4 0x5896b7606bbf in infinity_thrift_rpc::InfinityServiceProcessor::process_Select(int, apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:8134:13
    #5 0x5896b75fb5cd in infinity_thrift_rpc::InfinityServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:7621:3
    #6 0x5896b7654de7 in apache::thrift::TDispatchProcessor::process(std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, void*) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/TDispatchProcessor.h:121:12
    #7 0x5896bc801541 in apache::thrift::server::TConnectedClient::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/server/TConnectedClient.cpp:61:24
    #8 0x5896bc7b8690 in apache::thrift::concurrency::ThreadManager::Task::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:195:18
    #9 0x5896bc7b07ff in apache::thrift::concurrency::ThreadManager::Worker::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:310:19
    #10 0x5896bc7e8129 in apache::thrift::concurrency::Thread::threadMain(std::__1::shared_ptr<apache::thrift::concurrency::Thread>) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/Thread.cpp:28:23
    #11 0x5896bc7e75e7 in decltype(std::declval<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>)>()(std::declval<std::__1::shared_ptr<apache::thrift::concurrency::Thread>>())) std::__1::__invoke[abi:ne180100]<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>(void (*&&)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>&&) /usr/lib/llvm-18/include/c++/v1/__type_traits/invoke.h:344:25
    #12 0x5896bc7e74cd in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:193:3
    #13 0x5896bc7e70e5 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>>(void*) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:202:3
    #14 0x5896b726520c in asan_thread_start(void*) asan_interceptors.cpp.o

Indirect leak of 240 byte(s) in 10 object(s) allocated from:
    #0 0x5896b72a5d41 in operator new(unsigned long) (/home/huikong/Code/work/infinity/build/Debug/src/infinity+0xb8ed41) (BuildId: c1d91f92c060139d18c513d775d88c89c138f397)
    #1 0x5896b77e0f31 in infinity::InfinityThriftService@infinity_thrift_service::GetFunctionExprFromProto(infinity::Status@status&, infinity_thrift_rpc::FunctionExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1741:17
    #2 0x5896b77ca6fb in infinity::InfinityThriftService@infinity_thrift_service::GetParsedExprFromProto(infinity::Status@status&, infinity_thrift_rpc::ParsedExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1917:28
    #3 0x5896b77c8b40 in infinity::InfinityThriftService@infinity_thrift_service::Select(infinity_thrift_rpc::SelectResponse&, infinity_thrift_rpc::SelectRequest const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:463:28
    #4 0x5896b7606bbf in infinity_thrift_rpc::InfinityServiceProcessor::process_Select(int, apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:8134:13
    #5 0x5896b75fb5cd in infinity_thrift_rpc::InfinityServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:7621:3
    #6 0x5896b7654de7 in apache::thrift::TDispatchProcessor::process(std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, void*) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/TDispatchProcessor.h:121:12
    #7 0x5896bc801541 in apache::thrift::server::TConnectedClient::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/server/TConnectedClient.cpp:61:24
    #8 0x5896bc7b8690 in apache::thrift::concurrency::ThreadManager::Task::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:195:18
    #9 0x5896bc7b07ff in apache::thrift::concurrency::ThreadManager::Worker::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:310:19
    #10 0x5896bc7e8129 in apache::thrift::concurrency::Thread::threadMain(std::__1::shared_ptr<apache::thrift::concurrency::Thread>) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/Thread.cpp:28:23
    #11 0x5896bc7e75e7 in decltype(std::declval<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>)>()(std::declval<std::__1::shared_ptr<apache::thrift::concurrency::Thread>>())) std::__1::__invoke[abi:ne180100]<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>(void (*&&)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>&&) /usr/lib/llvm-18/include/c++/v1/__type_traits/invoke.h:344:25
    #12 0x5896bc7e74cd in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:193:3
    #13 0x5896bc7e70e5 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>>(void*) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:202:3
    #14 0x5896b726520c in asan_thread_start(void*) asan_interceptors.cpp.o

Indirect leak of 216 byte(s) in 3 object(s) allocated from:
    #0 0x5896b72a5d41 in operator new(unsigned long) (/home/huikong/Code/work/infinity/build/Debug/src/infinity+0xb8ed41) (BuildId: c1d91f92c060139d18c513d775d88c89c138f397)
    #1 0x5896b77e0a73 in infinity::InfinityThriftService@infinity_thrift_service::GetColumnExprFromProto(infinity_thrift_rpc::ColumnExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1727:24
    #2 0x5896b77e3cdf in infinity::InfinityThriftService@infinity_thrift_service::GetMatchSparseExprFromProto(infinity::Status@status&, infinity_thrift_rpc::MatchSparseExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1820:51
    #3 0x5896b77cac06 in infinity::InfinityThriftService@infinity_thrift_service::GetGenericMatchExprFromProto(infinity::Status@status&, infinity_thrift_rpc::GenericMatchExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1879:28
    #4 0x5896b77c910f in infinity::InfinityThriftService@infinity_thrift_service::Select(infinity_thrift_rpc::SelectResponse&, infinity_thrift_rpc::SelectRequest const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:496:38
    #5 0x5896b7606bbf in infinity_thrift_rpc::InfinityServiceProcessor::process_Select(int, apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:8134:13
    #6 0x5896b75fb5cd in infinity_thrift_rpc::InfinityServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:7621:3
    #7 0x5896b7654de7 in apache::thrift::TDispatchProcessor::process(std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, void*) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/TDispatchProcessor.h:121:12
    #8 0x5896bc801541 in apache::thrift::server::TConnectedClient::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/server/TConnectedClient.cpp:61:24
    #9 0x5896bc7b8690 in apache::thrift::concurrency::ThreadManager::Task::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:195:18
    #10 0x5896bc7b07ff in apache::thrift::concurrency::ThreadManager::Worker::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:310:19
    #11 0x5896bc7e8129 in apache::thrift::concurrency::Thread::threadMain(std::__1::shared_ptr<apache::thrift::concurrency::Thread>) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/Thread.cpp:28:23
    #12 0x5896bc7e75e7 in decltype(std::declval<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>)>()(std::declval<std::__1::shared_ptr<apache::thrift::concurrency::Thread>>())) std::__1::__invoke[abi:ne180100]<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>(void (*&&)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>&&) /usr/lib/llvm-18/include/c++/v1/__type_traits/invoke.h:344:25
    #13 0x5896bc7e74cd in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:193:3
    #14 0x5896bc7e70e5 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>>(void*) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:202:3
    #15 0x5896b726520c in asan_thread_start(void*) asan_interceptors.cpp.o

Indirect leak of 120 byte(s) in 5 object(s) allocated from:
    #0 0x5896b72a5d41 in operator new(unsigned long) (/home/huikong/Code/work/infinity/build/Debug/src/infinity+0xb8ed41) (BuildId: c1d91f92c060139d18c513d775d88c89c138f397)
    #1 0x5896b72b6414 in void* std::__1::__libcpp_operator_new[abi:ne180100]<unsigned long>(unsigned long) /usr/lib/llvm-18/include/c++/v1/new:271:10
    #2 0x5896b72b639c in std::__1::__libcpp_allocate[abi:ne180100](unsigned long, unsigned long) /usr/lib/llvm-18/include/c++/v1/new:295:10
    #3 0x5896b7477abc in std::__1::allocator<infinity::ParsedExpr*>::allocate[abi:ne180100](unsigned long) /usr/lib/llvm-18/include/c++/v1/__memory/allocator.h:125:32
    #4 0x5896b74779bc in std::__1::__allocation_result<std::__1::allocator_traits<std::__1::allocator<infinity::ParsedExpr*>>::pointer> std::__1::__allocate_at_least[abi:ne180100]<std::__1::allocator<infinity::ParsedExpr*>>(std::__1::allocator<infinity::ParsedExpr*>&, unsigned long) /usr/lib/llvm-18/include/c++/v1/__memory/allocate_at_least.h:55:19
    #5 0x5896b74770b0 in std::__1::__split_buffer<infinity::ParsedExpr*, std::__1::allocator<infinity::ParsedExpr*>&>::__split_buffer(unsigned long, unsigned long, std::__1::allocator<infinity::ParsedExpr*>&) /usr/lib/llvm-18/include/c++/v1/__split_buffer:343:25
    #6 0x5896b746a44e in std::__1::vector<infinity::ParsedExpr*, std::__1::allocator<infinity::ParsedExpr*>>::reserve(unsigned long) /usr/lib/llvm-18/include/c++/v1/vector:1425:49
    #7 0x5896b77c8a53 in infinity::InfinityThriftService@infinity_thrift_service::Select(infinity_thrift_rpc::SelectResponse&, infinity_thrift_rpc::SelectRequest const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:459:21
    #8 0x5896b7606bbf in infinity_thrift_rpc::InfinityServiceProcessor::process_Select(int, apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:8134:13
    #9 0x5896b75fb5cd in infinity_thrift_rpc::InfinityServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:7621:3
    #10 0x5896b7654de7 in apache::thrift::TDispatchProcessor::process(std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, void*) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/TDispatchProcessor.h:121:12
    #11 0x5896bc801541 in apache::thrift::server::TConnectedClient::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/server/TConnectedClient.cpp:61:24
    #12 0x5896bc7b8690 in apache::thrift::concurrency::ThreadManager::Task::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:195:18
    #13 0x5896bc7b07ff in apache::thrift::concurrency::ThreadManager::Worker::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:310:19
    #14 0x5896bc7e8129 in apache::thrift::concurrency::Thread::threadMain(std::__1::shared_ptr<apache::thrift::concurrency::Thread>) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/Thread.cpp:28:23
    #15 0x5896bc7e75e7 in decltype(std::declval<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>)>()(std::declval<std::__1::shared_ptr<apache::thrift::concurrency::Thread>>())) std::__1::__invoke[abi:ne180100]<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>(void (*&&)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>&&) /usr/lib/llvm-18/include/c++/v1/__type_traits/invoke.h:344:25
    #16 0x5896bc7e74cd in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:193:3
    #17 0x5896bc7e70e5 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>>(void*) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:202:3
    #18 0x5896b726520c in asan_thread_start(void*) asan_interceptors.cpp.o

Indirect leak of 72 byte(s) in 3 object(s) allocated from:
    #0 0x5896b72a5d41 in operator new(unsigned long) (/home/huikong/Code/work/infinity/build/Debug/src/infinity+0xb8ed41) (BuildId: c1d91f92c060139d18c513d775d88c89c138f397)
    #1 0x5896b72b6414 in void* std::__1::__libcpp_operator_new[abi:ne180100]<unsigned long>(unsigned long) /usr/lib/llvm-18/include/c++/v1/new:271:10
    #2 0x5896b72b639c in std::__1::__libcpp_allocate[abi:ne180100](unsigned long, unsigned long) /usr/lib/llvm-18/include/c++/v1/new:295:10
    #3 0x5896b759311c in std::__1::allocator<double>::allocate[abi:ne180100](unsigned long) /usr/lib/llvm-18/include/c++/v1/__memory/allocator.h:125:32
    #4 0x5896b759301c in std::__1::__allocation_result<std::__1::allocator_traits<std::__1::allocator<double>>::pointer> std::__1::__allocate_at_least[abi:ne180100]<std::__1::allocator<double>>(std::__1::allocator<double>&, unsigned long) /usr/lib/llvm-18/include/c++/v1/__memory/allocate_at_least.h:55:19
    #5 0x5896b7592710 in std::__1::__split_buffer<double, std::__1::allocator<double>&>::__split_buffer(unsigned long, unsigned long, std::__1::allocator<double>&) /usr/lib/llvm-18/include/c++/v1/__split_buffer:343:25
    #6 0x5896b77ee30e in std::__1::vector<double, std::__1::allocator<double>>::reserve(unsigned long) /usr/lib/llvm-18/include/c++/v1/vector:1425:49
    #7 0x5896b77c5fe4 in infinity::InfinityThriftService@infinity_thrift_service::GetConstantFromProto(infinity::Status@status&, infinity_thrift_rpc::ConstantExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1710:54
    #8 0x5896b77e3d09 in infinity::InfinityThriftService@infinity_thrift_service::GetMatchSparseExprFromProto(infinity::Status@status&, infinity_thrift_rpc::MatchSparseExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1823:27
    #9 0x5896b77cac06 in infinity::InfinityThriftService@infinity_thrift_service::GetGenericMatchExprFromProto(infinity::Status@status&, infinity_thrift_rpc::GenericMatchExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1879:28
    #10 0x5896b77c910f in infinity::InfinityThriftService@infinity_thrift_service::Select(infinity_thrift_rpc::SelectResponse&, infinity_thrift_rpc::SelectRequest const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:496:38
    #11 0x5896b7606bbf in infinity_thrift_rpc::InfinityServiceProcessor::process_Select(int, apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:8134:13
    #12 0x5896b75fb5cd in infinity_thrift_rpc::InfinityServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:7621:3
    #13 0x5896b7654de7 in apache::thrift::TDispatchProcessor::process(std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, void*) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/TDispatchProcessor.h:121:12
    #14 0x5896bc801541 in apache::thrift::server::TConnectedClient::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/server/TConnectedClient.cpp:61:24
    #15 0x5896bc7b8690 in apache::thrift::concurrency::ThreadManager::Task::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:195:18
    #16 0x5896bc7b07ff in apache::thrift::concurrency::ThreadManager::Worker::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:310:19
    #17 0x5896bc7e8129 in apache::thrift::concurrency::Thread::threadMain(std::__1::shared_ptr<apache::thrift::concurrency::Thread>) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/Thread.cpp:28:23
    #18 0x5896bc7e75e7 in decltype(std::declval<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>)>()(std::declval<std::__1::shared_ptr<apache::thrift::concurrency::Thread>>())) std::__1::__invoke[abi:ne180100]<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>(void (*&&)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>&&) /usr/lib/llvm-18/include/c++/v1/__type_traits/invoke.h:344:25
    #19 0x5896bc7e74cd in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:193:3
    #20 0x5896bc7e70e5 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>>(void*) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:202:3
    #21 0x5896b726520c in asan_thread_start(void*) asan_interceptors.cpp.o

Indirect leak of 72 byte(s) in 3 object(s) allocated from:
    #0 0x5896b72a5d41 in operator new(unsigned long) (/home/huikong/Code/work/infinity/build/Debug/src/infinity+0xb8ed41) (BuildId: c1d91f92c060139d18c513d775d88c89c138f397)
    #1 0x5896b72b6414 in void* std::__1::__libcpp_operator_new[abi:ne180100]<unsigned long>(unsigned long) /usr/lib/llvm-18/include/c++/v1/new:271:10
    #2 0x5896b72b639c in std::__1::__libcpp_allocate[abi:ne180100](unsigned long, unsigned long) /usr/lib/llvm-18/include/c++/v1/new:295:10
    #3 0x5896b7355d89 in std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>::allocate[abi:ne180100](unsigned long) /usr/lib/llvm-18/include/c++/v1/__memory/allocator.h:125:32
    #4 0x5896b7355c3c in std::__1::__allocation_result<std::__1::allocator_traits<std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::pointer> std::__1::__allocate_at_least[abi:ne180100]<std::__1::allocator<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>>>&, unsigned long) /usr/lib/llvm-18/include/c++/v1/__memory/allocate_at_least.h:55:19
    #5 0x5896b7355320 in std::__1::__split_buffer<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>>>&>::__split_buffer(unsigned long, unsigned long, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>&) /usr/lib/llvm-18/include/c++/v1/__split_buffer:343:25
    #6 0x5896b757f3ed in std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>* 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>>>>::__emplace_back_slow_path<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&) /usr/lib/llvm-18/include/c++/v1/vector:1489:47
    #7 0x5896b757c0af in std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>& 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>>>>::emplace_back<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&) /usr/lib/llvm-18/include/c++/v1/vector:1511:13
    #8 0x5896b77e0b5d in infinity::InfinityThriftService@infinity_thrift_service::GetColumnExprFromProto(infinity_thrift_rpc::ColumnExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1730:29
    #9 0x5896b77e3cdf in infinity::InfinityThriftService@infinity_thrift_service::GetMatchSparseExprFromProto(infinity::Status@status&, infinity_thrift_rpc::MatchSparseExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1820:51
    #10 0x5896b77cac06 in infinity::InfinityThriftService@infinity_thrift_service::GetGenericMatchExprFromProto(infinity::Status@status&, infinity_thrift_rpc::GenericMatchExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1879:28
    #11 0x5896b77c910f in infinity::InfinityThriftService@infinity_thrift_service::Select(infinity_thrift_rpc::SelectResponse&, infinity_thrift_rpc::SelectRequest const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:496:38
    #12 0x5896b7606bbf in infinity_thrift_rpc::InfinityServiceProcessor::process_Select(int, apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:8134:13
    #13 0x5896b75fb5cd in infinity_thrift_rpc::InfinityServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:7621:3
    #14 0x5896b7654de7 in apache::thrift::TDispatchProcessor::process(std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, void*) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/TDispatchProcessor.h:121:12
    #15 0x5896bc801541 in apache::thrift::server::TConnectedClient::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/server/TConnectedClient.cpp:61:24
    #16 0x5896bc7b8690 in apache::thrift::concurrency::ThreadManager::Task::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:195:18
    #17 0x5896bc7b07ff in apache::thrift::concurrency::ThreadManager::Worker::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:310:19
    #18 0x5896bc7e8129 in apache::thrift::concurrency::Thread::threadMain(std::__1::shared_ptr<apache::thrift::concurrency::Thread>) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/Thread.cpp:28:23
    #19 0x5896bc7e75e7 in decltype(std::declval<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>)>()(std::declval<std::__1::shared_ptr<apache::thrift::concurrency::Thread>>())) std::__1::__invoke[abi:ne180100]<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>(void (*&&)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>&&) /usr/lib/llvm-18/include/c++/v1/__type_traits/invoke.h:344:25
    #20 0x5896bc7e74cd in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:193:3
    #21 0x5896bc7e70e5 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>>(void*) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:202:3
    #22 0x5896b726520c in asan_thread_start(void*) asan_interceptors.cpp.o

Indirect leak of 72 byte(s) in 3 object(s) allocated from:
    #0 0x5896b72a5d41 in operator new(unsigned long) (/home/huikong/Code/work/infinity/build/Debug/src/infinity+0xb8ed41) (BuildId: c1d91f92c060139d18c513d775d88c89c138f397)
    #1 0x5896b72b6414 in void* std::__1::__libcpp_operator_new[abi:ne180100]<unsigned long>(unsigned long) /usr/lib/llvm-18/include/c++/v1/new:271:10
    #2 0x5896b72b639c in std::__1::__libcpp_allocate[abi:ne180100](unsigned long, unsigned long) /usr/lib/llvm-18/include/c++/v1/new:295:10
    #3 0x5896b758f49c in std::__1::allocator<long>::allocate[abi:ne180100](unsigned long) /usr/lib/llvm-18/include/c++/v1/__memory/allocator.h:125:32
    #4 0x5896b758f39c in std::__1::__allocation_result<std::__1::allocator_traits<std::__1::allocator<long>>::pointer> std::__1::__allocate_at_least[abi:ne180100]<std::__1::allocator<long>>(std::__1::allocator<long>&, unsigned long) /usr/lib/llvm-18/include/c++/v1/__memory/allocate_at_least.h:55:19
    #5 0x5896b758ea90 in std::__1::__split_buffer<long, std::__1::allocator<long>&>::__split_buffer(unsigned long, unsigned long, std::__1::allocator<long>&) /usr/lib/llvm-18/include/c++/v1/__split_buffer:343:25
    #6 0x5896b77edf5e in std::__1::vector<long, std::__1::allocator<long>>::reserve(unsigned long) /usr/lib/llvm-18/include/c++/v1/vector:1425:49
    #7 0x5896b77c5fb3 in infinity::InfinityThriftService@infinity_thrift_service::GetConstantFromProto(infinity::Status@status&, infinity_thrift_rpc::ConstantExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1709:53
    #8 0x5896b77e3d09 in infinity::InfinityThriftService@infinity_thrift_service::GetMatchSparseExprFromProto(infinity::Status@status&, infinity_thrift_rpc::MatchSparseExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1823:27
    #9 0x5896b77cac06 in infinity::InfinityThriftService@infinity_thrift_service::GetGenericMatchExprFromProto(infinity::Status@status&, infinity_thrift_rpc::GenericMatchExpr const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:1879:28
    #10 0x5896b77c910f in infinity::InfinityThriftService@infinity_thrift_service::Select(infinity_thrift_rpc::SelectResponse&, infinity_thrift_rpc::SelectRequest const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:496:38
    #11 0x5896b7606bbf in infinity_thrift_rpc::InfinityServiceProcessor::process_Select(int, apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:8134:13
    #12 0x5896b75fb5cd in infinity_thrift_rpc::InfinityServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:7621:3
    #13 0x5896b7654de7 in apache::thrift::TDispatchProcessor::process(std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, void*) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/TDispatchProcessor.h:121:12
    #14 0x5896bc801541 in apache::thrift::server::TConnectedClient::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/server/TConnectedClient.cpp:61:24
    #15 0x5896bc7b8690 in apache::thrift::concurrency::ThreadManager::Task::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:195:18
    #16 0x5896bc7b07ff in apache::thrift::concurrency::ThreadManager::Worker::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:310:19
    #17 0x5896bc7e8129 in apache::thrift::concurrency::Thread::threadMain(std::__1::shared_ptr<apache::thrift::concurrency::Thread>) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/Thread.cpp:28:23
    #18 0x5896bc7e75e7 in decltype(std::declval<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>)>()(std::declval<std::__1::shared_ptr<apache::thrift::concurrency::Thread>>())) std::__1::__invoke[abi:ne180100]<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>(void (*&&)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>&&) /usr/lib/llvm-18/include/c++/v1/__type_traits/invoke.h:344:25
    #19 0x5896bc7e74cd in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:193:3
    #20 0x5896bc7e70e5 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>>(void*) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:202:3
    #21 0x5896b726520c in asan_thread_start(void*) asan_interceptors.cpp.o

Indirect leak of 40 byte(s) in 5 object(s) allocated from:
    #0 0x5896b72a5d41 in operator new(unsigned long) (/home/huikong/Code/work/infinity/build/Debug/src/infinity+0xb8ed41) (BuildId: c1d91f92c060139d18c513d775d88c89c138f397)
    #1 0x5896b72b6414 in void* std::__1::__libcpp_operator_new[abi:ne180100]<unsigned long>(unsigned long) /usr/lib/llvm-18/include/c++/v1/new:271:10
    #2 0x5896b72b639c in std::__1::__libcpp_allocate[abi:ne180100](unsigned long, unsigned long) /usr/lib/llvm-18/include/c++/v1/new:295:10
    #3 0x5896b7477abc in std::__1::allocator<infinity::ParsedExpr*>::allocate[abi:ne180100](unsigned long) /usr/lib/llvm-18/include/c++/v1/__memory/allocator.h:125:32
    #4 0x5896b74779bc in std::__1::__allocation_result<std::__1::allocator_traits<std::__1::allocator<infinity::ParsedExpr*>>::pointer> std::__1::__allocate_at_least[abi:ne180100]<std::__1::allocator<infinity::ParsedExpr*>>(std::__1::allocator<infinity::ParsedExpr*>&, unsigned long) /usr/lib/llvm-18/include/c++/v1/__memory/allocate_at_least.h:55:19
    #5 0x5896b74770b0 in std::__1::__split_buffer<infinity::ParsedExpr*, std::__1::allocator<infinity::ParsedExpr*>&>::__split_buffer(unsigned long, unsigned long, std::__1::allocator<infinity::ParsedExpr*>&) /usr/lib/llvm-18/include/c++/v1/__split_buffer:343:25
    #6 0x5896b746a44e in std::__1::vector<infinity::ParsedExpr*, std::__1::allocator<infinity::ParsedExpr*>>::reserve(unsigned long) /usr/lib/llvm-18/include/c++/v1/vector:1425:49
    #7 0x5896b77c902a in infinity::InfinityThriftService@infinity_thrift_service::Select(infinity_thrift_rpc::SelectResponse&, infinity_thrift_rpc::SelectRequest const&) /home/huikong/Code/work/infinity/src/network/infinity_thrift_service.cpp:493:27
    #8 0x5896b7606bbf in infinity_thrift_rpc::InfinityServiceProcessor::process_Select(int, apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:8134:13
    #9 0x5896b75fb5cd in infinity_thrift_rpc::InfinityServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, void*) /home/huikong/Code/work/infinity/src/network/infinity_thrift/InfinityService.cpp:7621:3
    #10 0x5896b7654de7 in apache::thrift::TDispatchProcessor::process(std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, std::__1::shared_ptr<apache::thrift::protocol::TProtocol>, void*) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/TDispatchProcessor.h:121:12
    #11 0x5896bc801541 in apache::thrift::server::TConnectedClient::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/server/TConnectedClient.cpp:61:24
    #12 0x5896bc7b8690 in apache::thrift::concurrency::ThreadManager::Task::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:195:18
    #13 0x5896bc7b07ff in apache::thrift::concurrency::ThreadManager::Worker::run() /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/ThreadManager.cpp:310:19
    #14 0x5896bc7e8129 in apache::thrift::concurrency::Thread::threadMain(std::__1::shared_ptr<apache::thrift::concurrency::Thread>) /home/huikong/Code/work/infinity/third_party/thrift/lib/cpp/src/thrift/concurrency/Thread.cpp:28:23
    #15 0x5896bc7e75e7 in decltype(std::declval<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>)>()(std::declval<std::__1::shared_ptr<apache::thrift::concurrency::Thread>>())) std::__1::__invoke[abi:ne180100]<void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>(void (*&&)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>&&) /usr/lib/llvm-18/include/c++/v1/__type_traits/invoke.h:344:25
    #16 0x5896bc7e74cd in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>&, std::__1::__tuple_indices<2ul>) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:193:3
    #17 0x5896bc7e70e5 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::shared_ptr<apache::thrift::concurrency::Thread>), std::__1::shared_ptr<apache::thrift::concurrency::Thread>>>(void*) /usr/lib/llvm-18/include/c++/v1/__thread/thread.h:202:3
    #18 0x5896b726520c in asan_thread_start(void*) asan_interceptors.cpp.o

SUMMARY: AddressSanitizer: 3960 byte(s) leaked in 86 allocation(s).