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

libtbb memory leak on Ubuntu 24.04 WSL2 #1562

Open
arnabanimesh opened this issue Nov 16, 2024 · 3 comments
Open

libtbb memory leak on Ubuntu 24.04 WSL2 #1562

arnabanimesh opened this issue Nov 16, 2024 · 3 comments
Labels

Comments

@arnabanimesh
Copy link

arnabanimesh commented Nov 16, 2024

Summary

libtbb memory leak on Ubuntu 24.04 WSL2

Version

libtbb-dev/noble,now 2021.11.0-2ubuntu2 amd64

Environment

Provide any environmental details that you consider significant for reproducing the issue.
The following information is important:

  • Hardware: Intel Core i7 12700H
  • OS name and version: Ubuntu 24.04 LTS (WSL2 on Win 11 Pro 23H2) (All libraries updated as of date)
  • Compiler version: gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0

Observed Behavior

Errors pop up when running valgrind
valgrind output:
Output with 1 error:

==13084== Memcheck, a memory error detector
==13084== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==13084== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info
==13084== Command: ./build/boxpacking
==13084==
==13084==
==13084== HEAP SUMMARY:
==13084==     in use at exit: 2,432 bytes in 8 blocks
==13084==   total heap usage: 54,914 allocs, 54,906 frees, 312,477,738 bytes allocated
==13084==
==13084== 40 bytes in 1 blocks are still reachable in loss record 1 of 7
==13084==    at 0x4846828: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13084==    by 0x4028ABF: malloc (rtld-malloc.h:56)
==13084==    by 0x4028ABF: strdup (strdup.c:42)
==13084==    by 0x400948D: _dl_map_object (dl-load.c:2201)
==13084==    by 0x400D8DB: dl_open_worker_begin (dl-open.c:578)
==13084==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==13084==    by 0x400CD1F: dl_open_worker (dl-open.c:803)
==13084==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==13084==    by 0x400D163: _dl_open (dl-open.c:905)
==13084==    by 0x4CE5193: dlopen_doit (dlopen.c:56)
==13084==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==13084==    by 0x4001668: _dl_catch_error (dl-catch.c:256)
==13084==    by 0x4CE4C72: _dlerror_run (dlerror.c:138)
==13084==
==13084== 40 bytes in 1 blocks are still reachable in loss record 2 of 7
==13084==    at 0x4846828: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13084==    by 0x400CA68: malloc (rtld-malloc.h:56)
==13084==    by 0x400CA68: _dl_new_object (dl-object.c:199)
==13084==    by 0x4007ABE: _dl_map_object_from_fd (dl-load.c:1053)
==13084==    by 0x4009528: _dl_map_object (dl-load.c:2268)
==13084==    by 0x400D8DB: dl_open_worker_begin (dl-open.c:578)
==13084==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==13084==    by 0x400CD1F: dl_open_worker (dl-open.c:803)
==13084==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==13084==    by 0x400D163: _dl_open (dl-open.c:905)
==13084==    by 0x4CE5193: dlopen_doit (dlopen.c:56)
==13084==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==13084==    by 0x4001668: _dl_catch_error (dl-catch.c:256)
==13084==
==13084== 128 bytes in 1 blocks are still reachable in loss record 3 of 7
==13084==    at 0x48485C3: operator new[](unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13084==    by 0x487D3B2: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==13084==    by 0x487D733: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==13084==    by 0x487DA8B: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==13084==    by 0x4878EF4: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==13084==    by 0x4879FE4: tbb::detail::r1::isolate_within_arena(tbb::detail::d1::delegate_base&, long) (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==13084==    by 0x117ED2: void tbb::detail::d1::isolate_impl<void, __pstl::__tbb_backend::__parallel_for<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1})::{lambda()#1}>(__pstl::__tbb_backend::__parallel_for<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1})::{lambda()#1}&) (task_arena.h:204)
==13084==    by 0x117BB9: decltype ({parm#1}()) tbb::detail::d1::isolate<__pstl::__tbb_backend::__parallel_for<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1})::{lambda()#1}>(__pstl::execution::v1::parallel_unsequenced_policy const&) (task_arena.h:446)
==13084==    by 0x11783B: void __pstl::__tbb_backend::__parallel_for<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}) (parallel_backend_tbb.h:104)
==13084==    by 0x1174A4: __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const (algorithm_impl.h:121)
==13084==    by 0x117868: std::result_of<__pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1} ()>::type __pstl::__internal::__except_handler<__pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}>(__pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}) (utils.h:27)
==13084==    by 0x117526: void __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>) (algorithm_impl.h:120)
==13084==
==13084== 144 bytes in 1 blocks are still reachable in loss record 4 of 7
==13084==    at 0x4846828: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13084==    by 0x400CF3F: malloc (rtld-malloc.h:56)
==13084==    by 0x400CF3F: add_to_global_resize (dl-open.c:152)
==13084==    by 0x400DF0F: dl_open_worker_begin (dl-open.c:737)
==13084==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==13084==    by 0x400CD1F: dl_open_worker (dl-open.c:803)
==13084==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==13084==    by 0x400D163: _dl_open (dl-open.c:905)
==13084==    by 0x4CE5193: dlopen_doit (dlopen.c:56)
==13084==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==13084==    by 0x4001668: _dl_catch_error (dl-catch.c:256)
==13084==    by 0x4CE4C72: _dlerror_run (dlerror.c:138)
==13084==    by 0x4CE524E: dlopen_implementation (dlopen.c:71)
==13084==    by 0x4CE524E: dlopen@@GLIBC_2.34 (dlopen.c:81)
==13084==
==13084== 192 bytes in 1 blocks are still reachable in loss record 5 of 7
==13084==    at 0x484D953: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13084==    by 0x401622F: calloc (rtld-malloc.h:44)
==13084==    by 0x401622F: _dl_check_map_versions (dl-version.c:280)
==13084==    by 0x400DC7C: dl_open_worker_begin (dl-open.c:646)
==13084==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==13084==    by 0x400CD1F: dl_open_worker (dl-open.c:803)
==13084==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==13084==    by 0x400D163: _dl_open (dl-open.c:905)
==13084==    by 0x4CE5193: dlopen_doit (dlopen.c:56)
==13084==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==13084==    by 0x4001668: _dl_catch_error (dl-catch.c:256)
==13084==    by 0x4CE4C72: _dlerror_run (dlerror.c:138)
==13084==    by 0x4CE524E: dlopen_implementation (dlopen.c:71)
==13084==    by 0x4CE524E: dlopen@@GLIBC_2.34 (dlopen.c:81)
==13084==
==13084== 608 bytes in 2 blocks are possibly lost in loss record 6 of 7
==13084==    at 0x484D953: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13084==    by 0x40145AB: calloc (rtld-malloc.h:44)
==13084==    by 0x40145AB: allocate_dtv (dl-tls.c:370)
==13084==    by 0x40145AB: _dl_allocate_tls (dl-tls.c:629)
==13084==    by 0x4CEA606: allocate_stack (allocatestack.c:429)
==13084==    by 0x4CEA606: pthread_create@@GLIBC_2.34 (pthread_create.c:655)
==13084==    by 0x4883BEC: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==13084==    by 0x4889C84: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==13084==    by 0x48825AC: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==13084==    by 0x4885A7F: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==13084==    by 0x11B362: tbb::detail::d1::spawn(tbb::detail::d1::task&, tbb::detail::d1::task_group_context&) (_task.h:182)
==13084==    by 0x11BC3C: tbb::detail::d1::auto_partition_type::spawn_task(tbb::detail::d1::task&, tbb::detail::d1::task_group_context&) (partitioner.h:499)
==13084==    by 0x119BC8: tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > > >, __pstl::__tbb_backend::__parallel_for_body<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>, tbb::detail::d1::auto_partitioner const>::spawn_self(tbb::detail::d1::execution_data&) (parallel_for.h:144)
==13084==    by 0x119772: void tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > > >, __pstl::__tbb_backend::__parallel_for_body<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>, tbb::detail::d1::auto_partitioner const>::offer_work_impl<tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > > >, __pstl::__tbb_backend::__parallel_for_body<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>, tbb::detail::d1::auto_partitioner const>&, tbb::detail::d0::split&>(tbb::detail::d1::execution_data&, tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > > >, __pstl::__tbb_backend::__parallel_for_body<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>, tbb::detail::d1::auto_partitioner const>&, tbb::detail::d0::split&) (parallel_for.h:140)
==13084==    by 0x119261: tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > > >, __pstl::__tbb_backend::__parallel_for_body<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>, tbb::detail::d1::auto_partitioner const>::offer_work(tbb::detail::d0::split&, tbb::detail::d1::execution_data&) (parallel_for.h:122)
==13084==
==13084== 1,280 bytes in 1 blocks are still reachable in loss record 7 of 7
==13084==    at 0x484D953: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13084==    by 0x400C72C: calloc (rtld-malloc.h:44)
==13084==    by 0x400C72C: _dl_new_object (dl-object.c:92)
==13084==    by 0x4007ABE: _dl_map_object_from_fd (dl-load.c:1053)
==13084==    by 0x4009528: _dl_map_object (dl-load.c:2268)
==13084==    by 0x400D8DB: dl_open_worker_begin (dl-open.c:578)
==13084==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==13084==    by 0x400CD1F: dl_open_worker (dl-open.c:803)
==13084==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==13084==    by 0x400D163: _dl_open (dl-open.c:905)
==13084==    by 0x4CE5193: dlopen_doit (dlopen.c:56)
==13084==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==13084==    by 0x4001668: _dl_catch_error (dl-catch.c:256)
==13084==
==13084== LEAK SUMMARY:
==13084==    definitely lost: 0 bytes in 0 blocks
==13084==    indirectly lost: 0 bytes in 0 blocks
==13084==      possibly lost: 608 bytes in 2 blocks
==13084==    still reachable: 1,824 bytes in 6 blocks
==13084==         suppressed: 0 bytes in 0 blocks
==13084==
==13084== For lists of detected and suppressed errors, rerun with: -s
==13084== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

Output with 2 errors:

==18605== Memcheck, a memory error detector
==18605== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==18605== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info
==18605== Command: ./build/boxpacking
==18605==
==18605==
==18605== HEAP SUMMARY:
==18605==     in use at exit: 3,344 bytes in 11 blocks
==18605==   total heap usage: 54,914 allocs, 54,903 frees, 312,477,738 bytes allocated
==18605==
==18605== 40 bytes in 1 blocks are still reachable in loss record 1 of 8
==18605==    at 0x4846828: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==18605==    by 0x4028ABF: malloc (rtld-malloc.h:56)
==18605==    by 0x4028ABF: strdup (strdup.c:42)
==18605==    by 0x400948D: _dl_map_object (dl-load.c:2201)
==18605==    by 0x400D8DB: dl_open_worker_begin (dl-open.c:578)
==18605==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==18605==    by 0x400CD1F: dl_open_worker (dl-open.c:803)
==18605==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==18605==    by 0x400D163: _dl_open (dl-open.c:905)
==18605==    by 0x4CE5193: dlopen_doit (dlopen.c:56)
==18605==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==18605==    by 0x4001668: _dl_catch_error (dl-catch.c:256)
==18605==    by 0x4CE4C72: _dlerror_run (dlerror.c:138)
==18605==
==18605== 40 bytes in 1 blocks are still reachable in loss record 2 of 8
==18605==    at 0x4846828: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==18605==    by 0x400CA68: malloc (rtld-malloc.h:56)
==18605==    by 0x400CA68: _dl_new_object (dl-object.c:199)
==18605==    by 0x4007ABE: _dl_map_object_from_fd (dl-load.c:1053)
==18605==    by 0x4009528: _dl_map_object (dl-load.c:2268)
==18605==    by 0x400D8DB: dl_open_worker_begin (dl-open.c:578)
==18605==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==18605==    by 0x400CD1F: dl_open_worker (dl-open.c:803)
==18605==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==18605==    by 0x400D163: _dl_open (dl-open.c:905)
==18605==    by 0x4CE5193: dlopen_doit (dlopen.c:56)
==18605==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==18605==    by 0x4001668: _dl_catch_error (dl-catch.c:256)
==18605==
==18605== 128 bytes in 1 blocks are still reachable in loss record 3 of 8
==18605==    at 0x48485C3: operator new[](unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==18605==    by 0x487D3B2: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==18605==    by 0x487D733: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==18605==    by 0x487DA8B: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==18605==    by 0x4878EF4: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==18605==    by 0x4879FE4: tbb::detail::r1::isolate_within_arena(tbb::detail::d1::delegate_base&, long) (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==18605==    by 0x117ED2: void tbb::detail::d1::isolate_impl<void, __pstl::__tbb_backend::__parallel_for<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1})::{lambda()#1}>(__pstl::__tbb_backend::__parallel_for<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1})::{lambda()#1}&) (task_arena.h:204)
==18605==    by 0x117BB9: decltype ({parm#1}()) tbb::detail::d1::isolate<__pstl::__tbb_backend::__parallel_for<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1})::{lambda()#1}>(__pstl::execution::v1::parallel_unsequenced_policy const&) (task_arena.h:446)
==18605==    by 0x11783B: void __pstl::__tbb_backend::__parallel_for<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}) (parallel_backend_tbb.h:104)
==18605==    by 0x1174A4: __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const (algorithm_impl.h:121)
==18605==    by 0x117868: std::result_of<__pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1} ()>::type __pstl::__internal::__except_handler<__pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}>(__pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}) (utils.h:27)
==18605==    by 0x117526: void __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>) (algorithm_impl.h:120)
==18605==
==18605== 144 bytes in 1 blocks are still reachable in loss record 4 of 8
==18605==    at 0x4846828: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==18605==    by 0x400CF3F: malloc (rtld-malloc.h:56)
==18605==    by 0x400CF3F: add_to_global_resize (dl-open.c:152)
==18605==    by 0x400DF0F: dl_open_worker_begin (dl-open.c:737)
==18605==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==18605==    by 0x400CD1F: dl_open_worker (dl-open.c:803)
==18605==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==18605==    by 0x400D163: _dl_open (dl-open.c:905)
==18605==    by 0x4CE5193: dlopen_doit (dlopen.c:56)
==18605==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==18605==    by 0x4001668: _dl_catch_error (dl-catch.c:256)
==18605==    by 0x4CE4C72: _dlerror_run (dlerror.c:138)
==18605==    by 0x4CE524E: dlopen_implementation (dlopen.c:71)
==18605==    by 0x4CE524E: dlopen@@GLIBC_2.34 (dlopen.c:81)
==18605==
==18605== 192 bytes in 1 blocks are still reachable in loss record 5 of 8
==18605==    at 0x484D953: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==18605==    by 0x401622F: calloc (rtld-malloc.h:44)
==18605==    by 0x401622F: _dl_check_map_versions (dl-version.c:280)
==18605==    by 0x400DC7C: dl_open_worker_begin (dl-open.c:646)
==18605==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==18605==    by 0x400CD1F: dl_open_worker (dl-open.c:803)
==18605==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==18605==    by 0x400D163: _dl_open (dl-open.c:905)
==18605==    by 0x4CE5193: dlopen_doit (dlopen.c:56)
==18605==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==18605==    by 0x4001668: _dl_catch_error (dl-catch.c:256)
==18605==    by 0x4CE4C72: _dlerror_run (dlerror.c:138)
==18605==    by 0x4CE524E: dlopen_implementation (dlopen.c:71)
==18605==    by 0x4CE524E: dlopen@@GLIBC_2.34 (dlopen.c:81)
==18605==
==18605== 608 bytes in 2 blocks are possibly lost in loss record 6 of 8
==18605==    at 0x484D953: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==18605==    by 0x40145AB: calloc (rtld-malloc.h:44)
==18605==    by 0x40145AB: allocate_dtv (dl-tls.c:370)
==18605==    by 0x40145AB: _dl_allocate_tls (dl-tls.c:629)
==18605==    by 0x4CEA606: allocate_stack (allocatestack.c:429)
==18605==    by 0x4CEA606: pthread_create@@GLIBC_2.34 (pthread_create.c:655)
==18605==    by 0x4883BEC: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==18605==    by 0x4889C84: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==18605==    by 0x48825AC: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==18605==    by 0x4885A7F: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==18605==    by 0x11B362: tbb::detail::d1::spawn(tbb::detail::d1::task&, tbb::detail::d1::task_group_context&) (_task.h:182)
==18605==    by 0x11BC3C: tbb::detail::d1::auto_partition_type::spawn_task(tbb::detail::d1::task&, tbb::detail::d1::task_group_context&) (partitioner.h:499)
==18605==    by 0x119BC8: tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > > >, __pstl::__tbb_backend::__parallel_for_body<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>, tbb::detail::d1::auto_partitioner const>::spawn_self(tbb::detail::d1::execution_data&) (parallel_for.h:144)
==18605==    by 0x119772: void tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > > >, __pstl::__tbb_backend::__parallel_for_body<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>, tbb::detail::d1::auto_partitioner const>::offer_work_impl<tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > > >, __pstl::__tbb_backend::__parallel_for_body<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>, tbb::detail::d1::auto_partitioner const>&, tbb::detail::d0::split&>(tbb::detail::d1::execution_data&, tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > > >, __pstl::__tbb_backend::__parallel_for_body<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>, tbb::detail::d1::auto_partitioner const>&, tbb::detail::d0::split&) (parallel_for.h:140)
==18605==    by 0x119261: tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > > >, __pstl::__tbb_backend::__parallel_for_body<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>, tbb::detail::d1::auto_partitioner const>::offer_work(tbb::detail::d0::split&, tbb::detail::d1::execution_data&) (parallel_for.h:122)
==18605==
==18605== 912 bytes in 3 blocks are possibly lost in loss record 7 of 8
==18605==    at 0x484D953: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==18605==    by 0x40145AB: calloc (rtld-malloc.h:44)
==18605==    by 0x40145AB: allocate_dtv (dl-tls.c:370)
==18605==    by 0x40145AB: _dl_allocate_tls (dl-tls.c:629)
==18605==    by 0x4CEA606: allocate_stack (allocatestack.c:429)
==18605==    by 0x4CEA606: pthread_create@@GLIBC_2.34 (pthread_create.c:655)
==18605==    by 0x4883BEC: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==18605==    by 0x4884F46: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==18605==    by 0x4CE9A93: start_thread (pthread_create.c:447)
==18605==    by 0x4D76A33: clone (clone.S:100)
==18605==
==18605== 1,280 bytes in 1 blocks are still reachable in loss record 8 of 8
==18605==    at 0x484D953: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==18605==    by 0x400C72C: calloc (rtld-malloc.h:44)
==18605==    by 0x400C72C: _dl_new_object (dl-object.c:92)
==18605==    by 0x4007ABE: _dl_map_object_from_fd (dl-load.c:1053)
==18605==    by 0x4009528: _dl_map_object (dl-load.c:2268)
==18605==    by 0x400D8DB: dl_open_worker_begin (dl-open.c:578)
==18605==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==18605==    by 0x400CD1F: dl_open_worker (dl-open.c:803)
==18605==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==18605==    by 0x400D163: _dl_open (dl-open.c:905)
==18605==    by 0x4CE5193: dlopen_doit (dlopen.c:56)
==18605==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==18605==    by 0x4001668: _dl_catch_error (dl-catch.c:256)
==18605==
==18605== LEAK SUMMARY:
==18605==    definitely lost: 0 bytes in 0 blocks
==18605==    indirectly lost: 0 bytes in 0 blocks
==18605==      possibly lost: 1,520 bytes in 5 blocks
==18605==    still reachable: 1,824 bytes in 6 blocks
==18605==         suppressed: 0 bytes in 0 blocks
==18605==
==18605== For lists of detected and suppressed errors, rerun with: -s
==18605== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)

Output with 2 errors (with a bit more memory possibly lost):

==6298== Memcheck, a memory error detector
==6298== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==6298== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info
==6298== Command: ./build/boxpacking
==6298==
==6298==
==6298== HEAP SUMMARY:
==6298==     in use at exit: 7,600 bytes in 25 blocks
==6298==   total heap usage: 52,361 allocs, 52,336 frees, 311,357,626 bytes allocated
==6298==
==6298== 40 bytes in 1 blocks are still reachable in loss record 1 of 8
==6298==    at 0x4846828: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==6298==    by 0x4028ABF: malloc (rtld-malloc.h:56)
==6298==    by 0x4028ABF: strdup (strdup.c:42)
==6298==    by 0x400948D: _dl_map_object (dl-load.c:2201)
==6298==    by 0x400D8DB: dl_open_worker_begin (dl-open.c:578)
==6298==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==6298==    by 0x400CD1F: dl_open_worker (dl-open.c:803)
==6298==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==6298==    by 0x400D163: _dl_open (dl-open.c:905)
==6298==    by 0x4CE5193: dlopen_doit (dlopen.c:56)
==6298==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==6298==    by 0x4001668: _dl_catch_error (dl-catch.c:256)
==6298==    by 0x4CE4C72: _dlerror_run (dlerror.c:138)
==6298==
==6298== 40 bytes in 1 blocks are still reachable in loss record 2 of 8
==6298==    at 0x4846828: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==6298==    by 0x400CA68: malloc (rtld-malloc.h:56)
==6298==    by 0x400CA68: _dl_new_object (dl-object.c:199)
==6298==    by 0x4007ABE: _dl_map_object_from_fd (dl-load.c:1053)
==6298==    by 0x4009528: _dl_map_object (dl-load.c:2268)
==6298==    by 0x400D8DB: dl_open_worker_begin (dl-open.c:578)
==6298==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==6298==    by 0x400CD1F: dl_open_worker (dl-open.c:803)
==6298==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==6298==    by 0x400D163: _dl_open (dl-open.c:905)
==6298==    by 0x4CE5193: dlopen_doit (dlopen.c:56)
==6298==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==6298==    by 0x4001668: _dl_catch_error (dl-catch.c:256)
==6298==
==6298== 128 bytes in 1 blocks are still reachable in loss record 3 of 8
==6298==    at 0x48485C3: operator new[](unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==6298==    by 0x487D3B2: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==6298==    by 0x487D733: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==6298==    by 0x487DA8B: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==6298==    by 0x4878EF4: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==6298==    by 0x4879FE4: tbb::detail::r1::isolate_within_arena(tbb::detail::d1::delegate_base&, long) (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==6298==    by 0x117BF2: void tbb::detail::d1::isolate_impl<void, __pstl::__tbb_backend::__parallel_for<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1})::{lambda()#1}>(__pstl::__tbb_backend::__parallel_for<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1})::{lambda()#1}&) (task_arena.h:204)
==6298==    by 0x1178D9: decltype ({parm#1}()) tbb::detail::d1::isolate<__pstl::__tbb_backend::__parallel_for<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1})::{lambda()#1}>(__pstl::execution::v1::parallel_unsequenced_policy const&) (task_arena.h:446)
==6298==    by 0x11755B: void __pstl::__tbb_backend::__parallel_for<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}) (parallel_backend_tbb.h:104)
==6298==    by 0x1171C4: __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const (algorithm_impl.h:121)
==6298==    by 0x117588: std::result_of<__pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1} ()>::type __pstl::__internal::__except_handler<__pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}>(__pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}) (utils.h:27)
==6298==    by 0x117246: void __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>) (algorithm_impl.h:120)
==6298==
==6298== 144 bytes in 1 blocks are still reachable in loss record 4 of 8
==6298==    at 0x4846828: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==6298==    by 0x400CF3F: malloc (rtld-malloc.h:56)
==6298==    by 0x400CF3F: add_to_global_resize (dl-open.c:152)
==6298==    by 0x400DF0F: dl_open_worker_begin (dl-open.c:737)
==6298==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==6298==    by 0x400CD1F: dl_open_worker (dl-open.c:803)
==6298==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==6298==    by 0x400D163: _dl_open (dl-open.c:905)
==6298==    by 0x4CE5193: dlopen_doit (dlopen.c:56)
==6298==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==6298==    by 0x4001668: _dl_catch_error (dl-catch.c:256)
==6298==    by 0x4CE4C72: _dlerror_run (dlerror.c:138)
==6298==    by 0x4CE524E: dlopen_implementation (dlopen.c:71)
==6298==    by 0x4CE524E: dlopen@@GLIBC_2.34 (dlopen.c:81)
==6298==
==6298== 192 bytes in 1 blocks are still reachable in loss record 5 of 8
==6298==    at 0x484D953: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==6298==    by 0x401622F: calloc (rtld-malloc.h:44)
==6298==    by 0x401622F: _dl_check_map_versions (dl-version.c:280)
==6298==    by 0x400DC7C: dl_open_worker_begin (dl-open.c:646)
==6298==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==6298==    by 0x400CD1F: dl_open_worker (dl-open.c:803)
==6298==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==6298==    by 0x400D163: _dl_open (dl-open.c:905)
==6298==    by 0x4CE5193: dlopen_doit (dlopen.c:56)
==6298==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==6298==    by 0x4001668: _dl_catch_error (dl-catch.c:256)
==6298==    by 0x4CE4C72: _dlerror_run (dlerror.c:138)
==6298==    by 0x4CE524E: dlopen_implementation (dlopen.c:71)
==6298==    by 0x4CE524E: dlopen@@GLIBC_2.34 (dlopen.c:81)
==6298==
==6298== 608 bytes in 2 blocks are possibly lost in loss record 6 of 8
==6298==    at 0x484D953: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==6298==    by 0x40145AB: calloc (rtld-malloc.h:44)
==6298==    by 0x40145AB: allocate_dtv (dl-tls.c:370)
==6298==    by 0x40145AB: _dl_allocate_tls (dl-tls.c:629)
==6298==    by 0x4CEA606: allocate_stack (allocatestack.c:429)
==6298==    by 0x4CEA606: pthread_create@@GLIBC_2.34 (pthread_create.c:655)
==6298==    by 0x4883BEC: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==6298==    by 0x4889C84: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==6298==    by 0x48825AC: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==6298==    by 0x4885A7F: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==6298==    by 0x11AFB2: tbb::detail::d1::spawn(tbb::detail::d1::task&, tbb::detail::d1::task_group_context&) (_task.h:182)
==6298==    by 0x11B88C: tbb::detail::d1::auto_partition_type::spawn_task(tbb::detail::d1::task&, tbb::detail::d1::task_group_context&) (partitioner.h:499)
==6298==    by 0x1198E8: tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > > >, __pstl::__tbb_backend::__parallel_for_body<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>, tbb::detail::d1::auto_partitioner const>::spawn_self(tbb::detail::d1::execution_data&) (parallel_for.h:144)
==6298==    by 0x119492: void tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > > >, __pstl::__tbb_backend::__parallel_for_body<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>, tbb::detail::d1::auto_partitioner const>::offer_work_impl<tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > > >, __pstl::__tbb_backend::__parallel_for_body<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>, tbb::detail::d1::auto_partitioner const>&, tbb::detail::d0::split&>(tbb::detail::d1::execution_data&, tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > > >, __pstl::__tbb_backend::__parallel_for_body<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>, tbb::detail::d1::auto_partitioner const>&, tbb::detail::d0::split&) (parallel_for.h:140)
==6298==    by 0x118F81: tbb::detail::d1::start_for<tbb::detail::d1::blocked_range<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > > >, __pstl::__tbb_backend::__parallel_for_body<__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __pstl::__internal::__pattern_walk1<__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true> >(__pstl::execution::v1::parallel_unsequenced_policy const&, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, ensure_empty_dir(std::filesystem::__cxx11::path const&)::{lambda(std::filesystem::__cxx11::path)#1}, std::integral_constant<bool, true>, std::integral_constant<bool, true>)::{lambda()#1}::operator()() const::{lambda(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >, __gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> > >)#1}>, tbb::detail::d1::auto_partitioner const>::offer_work(tbb::detail::d0::split&, tbb::detail::d1::execution_data&) (parallel_for.h:122)
==6298==
==6298== 1,280 bytes in 1 blocks are still reachable in loss record 7 of 8
==6298==    at 0x484D953: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==6298==    by 0x400C72C: calloc (rtld-malloc.h:44)
==6298==    by 0x400C72C: _dl_new_object (dl-object.c:92)
==6298==    by 0x4007ABE: _dl_map_object_from_fd (dl-load.c:1053)
==6298==    by 0x4009528: _dl_map_object (dl-load.c:2268)
==6298==    by 0x400D8DB: dl_open_worker_begin (dl-open.c:578)
==6298==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==6298==    by 0x400CD1F: dl_open_worker (dl-open.c:803)
==6298==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==6298==    by 0x400D163: _dl_open (dl-open.c:905)
==6298==    by 0x4CE5193: dlopen_doit (dlopen.c:56)
==6298==    by 0x400151B: _dl_catch_exception (dl-catch.c:237)
==6298==    by 0x4001668: _dl_catch_error (dl-catch.c:256)
==6298==
==6298== 5,168 bytes in 17 blocks are possibly lost in loss record 8 of 8
==6298==    at 0x484D953: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==6298==    by 0x40145AB: calloc (rtld-malloc.h:44)
==6298==    by 0x40145AB: allocate_dtv (dl-tls.c:370)
==6298==    by 0x40145AB: _dl_allocate_tls (dl-tls.c:629)
==6298==    by 0x4CEA606: allocate_stack (allocatestack.c:429)
==6298==    by 0x4CEA606: pthread_create@@GLIBC_2.34 (pthread_create.c:655)
==6298==    by 0x4883BEC: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==6298==    by 0x4884F46: ??? (in /usr/lib/x86_64-linux-gnu/libtbb.so.12.11)
==6298==    by 0x4CE9A93: start_thread (pthread_create.c:447)
==6298==    by 0x4D76A33: clone (clone.S:100)
==6298==
==6298== LEAK SUMMARY:
==6298==    definitely lost: 0 bytes in 0 blocks
==6298==    indirectly lost: 0 bytes in 0 blocks
==6298==      possibly lost: 5,776 bytes in 19 blocks
==6298==    still reachable: 1,824 bytes in 6 blocks
==6298==         suppressed: 0 bytes in 0 blocks
==6298==
==6298== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)

Expected Behavior

No errors

Steps To Reproduce

  1. Use Ubuntu 24.04 WSL2
  2. Install libtbb (libtbb-dev/noble,now 2021.11.0-2ubuntu2 amd64)
  3. Install valgrind (valgrind/noble,now 1:3.22.0-0ubuntu3 amd64)
  4. Use GCC 13.2.0
  5. Create a sample C++ file with for_each with execution (I ran with an app which had both par_unseq and par although in separate areas). Also there should be a unordered_map with tuple key using shared_mutex. I used boost's hasher.
  6. Use the following libraries: zlib 1.3.1, libpng 1.6.44, cimg 3.4.3, OpenXLSX (commit hash: 3664038)
  7. Compile in Debug mode (I used cmake with C++ standard set to C++20)
  8. Run the following command: valgrind --tool=memcheck --leak-check=full --track-origins=yes --keep-stacktraces=alloc-and-free --show-leak-kinds=all binary

EDIT: I have prepared a sample source code which will help reproduce the issue: https://gist.github.com/arnabanimesh/5a4785ef6d571294d6c649117d7a7dfb

@phprus
Copy link
Contributor

phprus commented Nov 17, 2024

Similar issue: #1533

@arnabanimesh
Copy link
Author

arnabanimesh commented Nov 17, 2024

Similar issue: #1533

I tried modifying parallel_backend_tbb.h as mentioned in the comment: #1533 (comment)

But the issue still remains.

@arnabanimesh
Copy link
Author

I have provided a minimal reproducible example: https://gist.github.com/arnabanimesh/5a4785ef6d571294d6c649117d7a7dfb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants