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 · 2 comments
Open

libtbb memory leak on Ubuntu 24.04 WSL2 #1562

arnabanimesh opened this issue Nov 16, 2024 · 2 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
@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.

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