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

Memory leak #2502

Open
1 task done
JinHai-CN opened this issue Jan 27, 2025 · 0 comments
Open
1 task done

Memory leak #2502

JinHai-CN opened this issue Jan 27, 2025 · 0 comments
Labels
bug Something isn't working

Comments

@JinHai-CN
Copy link
Contributor

JinHai-CN commented Jan 27, 2025

Is there an existing issue for the same bug?

  • I have checked the existing issues.

Actual behavior and How to reproduce it

https://github.com/infiniflow/infinity/actions/runs/12986592625/job/36213738848

=================================================================
==92404==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 208 byte(s) in 1 object(s) allocated from:
#0 0x56140ef6133d in operator new(unsigned long) /root/llvm-project-18.1.8.src/compiler-rt/lib/asan/asan_new_delete.cpp:86:3
#1 0x561414484b42 in infinity::VarFileWorker@var_file_worker::ReadFromMmapImpl(void const*, unsigned long) /infinity/src/storage/buffer/file_worker/var_file_worker.cpp:123:24
#2 0x5614101b78dc in infinity::FileWorker@file_worker::Mmap() /infinity/src/storage/buffer/file_worker/file_worker.cpp:223:15
#3 0x5614101a485d in infinity::BufferObj@buffer_obj::Load() /infinity/src/storage/buffer/buffer_obj.cpp:81:31
#4 0x56141040e4b8 in infinity::VarBufferManager@var_buffer::InitBuffer() /infinity/src/storage/column_vector/var_buffer.cpp:156:45
#5 0x56141040e688 in infinity::VarBufferManager@var_buffer::GetInner() /infinity/src/storage/column_vector/var_buffer.cpp:172:5
#6 0x56140fdb9ffc in infinity::VarBufferManager@var_buffer::Get(unsigned long, unsigned long) /infinity/src/storage/column_vector/var_buffer.cppm:78:56
#7 0x5614104158e1 in infinity::VectorBuffer@vector_buffer::GetSparseRaw(unsigned long, unsigned long, infinity::SparseInfo const*) const /infinity/src/storage/column_vector/vector_buffer.cpp:362:51
#8 0x5614101dffed in infinity::CopySparse@column_vector(infinity::SparseType&, infinity::VectorBuffer@vector_buffer*, infinity::SparseType const&, infinity::VectorBuffer@vector_buffer const*, infinity::SparseInfo const*) /infinity/src/storage/column_vector/column_vector.cpp:2605:62
#9 0x5614101de557 in infinity::ColumnVector@column_vector::AppendWith(infinity::ColumnVector@column_vector const&, unsigned long, unsigned long) /infinity/src/storage/column_vector/column_vector.cpp:2057:17
#10 0x5614131692a7 in infinity::PhysicalTableScan@physical_table_scan::ExecuteInternal(infinity::QueryContext@query_context*, infinity::TableScanOperatorState@operator_state*) /infinity/src/executor/operator/physical_scan/physical_table_scan.cpp:188:67
#11 0x56141316719c in infinity::PhysicalTableScan@physical_table_scan::Execute(infinity::QueryContext@query_context*, infinity::OperatorState@operator_state*) /infinity/src/executor/operator/physical_scan/physical_table_scan.cpp:50:5
#12 0x5614100f887a in infinity::FragmentTask@fragment_task::OnExecute() /infinity/src/scheduler/fragment_task.cpp:85:58
#13 0x56140f23bcd5 in infinity::TaskScheduler@task_scheduler::WorkerLoop(infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, long) /infinity/src/scheduler/task_scheduler.cpp:258:28
#14 0x56140f26069d in decltype(*std::declval<infinity::TaskScheduler@task_scheduler*>().*std::declval<void (infinity::TaskScheduler@task_scheduler::*)(infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, long)>()(std::declval<infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*>(), std::declval<unsigned long>())) std::__1::__invoke[abi:ne180100]<void (infinity::TaskScheduler@task_scheduler::*)(infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, long), infinity::TaskScheduler@task_scheduler*, infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, unsigned long, void>(void (infinity::TaskScheduler@task_scheduler::*&&)(infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, long), infinity::TaskScheduler@task_scheduler*&&, infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*&&, unsigned long&&) /usr/local/include/c++/v1/__type_traits/invoke.h:312:25
#15 0x56140f26054f 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 (infinity::TaskScheduler@task_scheduler::*)(infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, long), infinity::TaskScheduler@task_scheduler*, infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, unsigned long, 2ul, 3ul, 4ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (infinity::TaskScheduler@task_scheduler::*)(infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, long), infinity::TaskScheduler@task_scheduler*, infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, unsigned long>&, std::__1::__tuple_indices<2ul, 3ul, 4ul>) /usr/local/include/c++/v1/__thread/thread.h:193:3
#16 0x56140f25ffc5 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 (infinity::TaskScheduler@task_scheduler::*)(infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, long), infinity::TaskScheduler@task_scheduler*, infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, unsigned long>>(void*) /usr/local/include/c++/v1/__thread/thread.h:202:3
#17 0x56140ef21aa8 in asan_thread_start(void*) /root/llvm-project-18.1.8.src/compiler-rt/lib/asan/asan_interceptors.cpp:239:28

Indirect leak of 16 byte(s) in 1 object(s) allocated from:
#0 0x56140ef6133d in operator new(unsigned long) /root/llvm-project-18.1.8.src/compiler-rt/lib/asan/asan_new_delete.cpp:86:3
#1 0x56140ef74d24 in void* std::__1::__libcpp_operator_new[abi:ne180100]<unsigned long>(unsigned long) /usr/local/include/c++/v1/new:271:10
#2 0x56140ef74cac in std::__1::__libcpp_allocate[abi:ne180100](unsigned long, unsigned long) /usr/local/include/c++/v1/new:295:10
#3 0x56140f24868c in std::__1::allocator<unsigned long>::allocate[abi:ne180100](unsigned long) /usr/local/include/c++/v1/__memory/allocator.h:125:32
#4 0x56140f24858c in std::__1::__allocation_result<std::__1::allocator_traits<std::__1::allocator<unsigned long>>::pointer> std::__1::__allocate_at_least[abi:ne180100]<std::__1::allocator<unsigned long>>(std::__1::allocator<unsigned long>&, unsigned long) /usr/local/include/c++/v1/__memory/allocate_at_least.h:55:19
#5 0x56140f426007 in std::__1::vector<unsigned long, std::__1::allocator<unsigned long>>::__vallocate[abi:ne180100](unsigned long) /usr/local/include/c++/v1/vector:741:25
#6 0x56140fdba32c in std::__1::vector<unsigned long, std::__1::allocator<unsigned long>>::vector[abi:ne180100](std::initializer_list<unsigned long>) /usr/local/include/c++/v1/vector:1243:5
#7 0x56140fdb9d9e in infinity::VarBuffer@var_buffer::VarBuffer(infinity::BufferObj@buffer_obj*, char const*, unsigned long) /infinity/src/storage/column_vector/var_buffer.cppm:42:72
#8 0x561414484bcd in infinity::VarFileWorker@var_file_worker::ReadFromMmapImpl(void const*, unsigned long) /infinity/src/storage/buffer/file_worker/var_file_worker.cpp:123:28
#9 0x5614101b78dc in infinity::FileWorker@file_worker::Mmap() /infinity/src/storage/buffer/file_worker/file_worker.cpp:223:15
#10 0x5614101a485d in infinity::BufferObj@buffer_obj::Load() /infinity/src/storage/buffer/buffer_obj.cpp:81:31
#11 0x56141040e4b8 in infinity::VarBufferManager@var_buffer::InitBuffer() /infinity/src/storage/column_vector/var_buffer.cpp:156:45
#12 0x56141040e688 in infinity::VarBufferManager@var_buffer::GetInner() /infinity/src/storage/column_vector/var_buffer.cpp:172:5
#13 0x56140fdb9ffc in infinity::VarBufferManager@var_buffer::Get(unsigned long, unsigned long) /infinity/src/storage/column_vector/var_buffer.cppm:78:56
#14 0x5614104158e1 in infinity::VectorBuffer@vector_buffer::GetSparseRaw(unsigned long, unsigned long, infinity::SparseInfo const*) const /infinity/src/storage/column_vector/vector_buffer.cpp:362:51
#15 0x5614101dffed in infinity::CopySparse@column_vector(infinity::SparseType&, infinity::VectorBuffer@vector_buffer*, infinity::SparseType const&, infinity::VectorBuffer@vector_buffer const*, infinity::SparseInfo const*) /infinity/src/storage/column_vector/column_vector.cpp:2605:62
#16 0x5614101de557 in infinity::ColumnVector@column_vector::AppendWith(infinity::ColumnVector@column_vector const&, unsigned long, unsigned long) /infinity/src/storage/column_vector/column_vector.cpp:2057:17
#17 0x5614131692a7 in infinity::PhysicalTableScan@physical_table_scan::ExecuteInternal(infinity::QueryContext@query_context*, infinity::TableScanOperatorState@operator_state*) /infinity/src/executor/operator/physical_scan/physical_table_scan.cpp:188:67
#18 0x56141316719c in infinity::PhysicalTableScan@physical_table_scan::Execute(infinity::QueryContext@query_context*, infinity::OperatorState@operator_state*) /infinity/src/executor/operator/physical_scan/physical_table_scan.cpp:50:5
#19 0x5614100f887a in infinity::FragmentTask@fragment_task::OnExecute() /infinity/src/scheduler/fragment_task.cpp:85:58
#20 0x56140f23bcd5 in infinity::TaskScheduler@task_scheduler::WorkerLoop(infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, long) /infinity/src/scheduler/task_scheduler.cpp:258:28
#21 0x56140f26069d in decltype(*std::declval<infinity::TaskScheduler@task_scheduler*>().*std::declval<void (infinity::TaskScheduler@task_scheduler::*)(infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, long)>()(std::declval<infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*>(), std::declval<unsigned long>())) std::__1::__invoke[abi:ne180100]<void (infinity::TaskScheduler@task_scheduler::*)(infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, long), infinity::TaskScheduler@task_scheduler*, infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, unsigned long, void>(void (infinity::TaskScheduler@task_scheduler::*&&)(infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, long), infinity::TaskScheduler@task_scheduler*&&, infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*&&, unsigned long&&) /usr/local/include/c++/v1/__type_traits/invoke.h:312:25
#22 0x56140f26054f 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 (infinity::TaskScheduler@task_scheduler::*)(infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, long), infinity::TaskScheduler@task_scheduler*, infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, unsigned long, 2ul, 3ul, 4ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (infinity::TaskScheduler@task_scheduler::*)(infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, long), infinity::TaskScheduler@task_scheduler*, infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, unsigned long>&, std::__1::__tuple_indices<2ul, 3ul, 4ul>) /usr/local/include/c++/v1/__thread/thread.h:193:3
#23 0x56140f25ffc5 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 (infinity::TaskScheduler@task_scheduler::*)(infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, long), infinity::TaskScheduler@task_scheduler*, infinity::BlockingQueue@blocking_queue<infinity::FragmentTask@fragment_task*>*, unsigned long>>(void*) /usr/local/include/c++/v1/__thread/thread.h:202:3
#24 0x56140ef21aa8 in asan_thread_start(void*) /root/llvm-project-18.1.8.src/compiler-rt/lib/asan/asan_interceptors.cpp:239:28

SUMMARY: AddressSanitizer: 224 byte(s) leaked in 2 allocation(s).
@JinHai-CN JinHai-CN added the bug Something isn't working label Jan 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant