Skip to content

Memory leaks #259

@amontoison

Description

@amontoison

With the tests of GALAHAD, we detected the following memory leaks with ASAN:

=================================================================
==25192==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 216 byte(s) in 9 object(s) allocated from:
    #0 0x7f29b38f6e77 in malloc /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x7f29b02c6737 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:886
    #2 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #3 0x7f29b37c1685 in GOMP_taskgroup_end /workspace/srcdir/gcc-14.2.0/libgomp/task.c:2330

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7f29b38f6e77 in malloc /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x7f29b02c6737 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:886
    #2 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #3 0x7f29b37bedca in gomp_barrier_handle_tasks /workspace/srcdir/gcc-14.2.0/libgomp/task.c:1650

Indirect leak of 4718736 byte(s) in 9 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b24dd80b in std::__new_allocator<char>::allocate(unsigned long, void const*) /usr/include/c++/14/bits/new_allocator.h:151
    #2 0x7f29b24e7184 in std::allocator_traits<std::allocator<char> >::allocate(std::allocator<char>&, unsigned long) /usr/include/c++/14/bits/alloc_traits.h:478
    #3 0x7f29b24e7184 in spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >::Page(unsigned long, std::allocator<char> const&) ../include/ssids_cpu_BuddyAllocator.hxx:75
    #4 0x7f29b24de35f in void std::__new_allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > >::construct<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, unsigned long&, std::allocator<char>&>(spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >*, unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/new_allocator.h:191
    #5 0x7f29b24de35f in void std::allocator_traits<std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::construct<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, unsigned long&, std::allocator<char>&>(std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > >&, spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >*, unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/alloc_traits.h:534
    #6 0x7f29b24de35f in void std::vector<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::_M_realloc_append<unsigned long&, std::allocator<char>&>(unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/vector.tcc:634
    #7 0x7f29b24d51a0 in void std::vector<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::emplace_back<unsigned long&, std::allocator<char>&>(unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/vector.tcc:123
    #8 0x7f29b250ae89 in spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >::Table(unsigned long, std::allocator<char> const&) ../include/ssids_cpu_BuddyAllocator.hxx:310
    #9 0x7f29b24ffb65 in spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> >::BuddyAllocator(unsigned long, std::allocator<double> const&) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effb65) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #10 0x7f29b24fa236 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:65
    #11 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #12 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #13 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #14 0x7f29b37c1685 in GOMP_taskgroup_end /workspace/srcdir/gcc-14.2.0/libgomp/task.c:2330

Indirect leak of 1179648 byte(s) in 9 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b24e827d in std::__new_allocator<int>::allocate(unsigned long, void const*) /usr/include/c++/14/bits/new_allocator.h:151
    #2 0x7f29b24e7341 in std::allocator_traits<std::allocator<int> >::allocate(std::allocator<int>&, unsigned long) /usr/include/c++/14/bits/alloc_traits.h:478
    #3 0x7f29b24e7341 in spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >::Page(unsigned long, std::allocator<char> const&) ../include/ssids_cpu_BuddyAllocator.hxx:81
    #4 0x7f29b24de35f in void std::__new_allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > >::construct<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, unsigned long&, std::allocator<char>&>(spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >*, unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/new_allocator.h:191
    #5 0x7f29b24de35f in void std::allocator_traits<std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::construct<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, unsigned long&, std::allocator<char>&>(std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > >&, spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >*, unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/alloc_traits.h:534
    #6 0x7f29b24de35f in void std::vector<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::_M_realloc_append<unsigned long&, std::allocator<char>&>(unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/vector.tcc:634
    #7 0x7f29b24d51a0 in void std::vector<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::emplace_back<unsigned long&, std::allocator<char>&>(unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/vector.tcc:123
    #8 0x7f29b250ae89 in spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >::Table(unsigned long, std::allocator<char> const&) ../include/ssids_cpu_BuddyAllocator.hxx:310
    #9 0x7f29b24ffb65 in spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> >::BuddyAllocator(unsigned long, std::allocator<double> const&) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effb65) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #10 0x7f29b24fa236 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:65
    #11 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #12 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #13 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #14 0x7f29b37c1685 in GOMP_taskgroup_end /workspace/srcdir/gcc-14.2.0/libgomp/task.c:2330

Indirect leak of 524304 byte(s) in 1 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b24dd80b in std::__new_allocator<char>::allocate(unsigned long, void const*) /usr/include/c++/14/bits/new_allocator.h:151
    #2 0x7f29b24e7184 in std::allocator_traits<std::allocator<char> >::allocate(std::allocator<char>&, unsigned long) /usr/include/c++/14/bits/alloc_traits.h:478
    #3 0x7f29b24e7184 in spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >::Page(unsigned long, std::allocator<char> const&) ../include/ssids_cpu_BuddyAllocator.hxx:75
    #4 0x7f29b24de35f in void std::__new_allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > >::construct<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, unsigned long&, std::allocator<char>&>(spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >*, unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/new_allocator.h:191
    #5 0x7f29b24de35f in void std::allocator_traits<std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::construct<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, unsigned long&, std::allocator<char>&>(std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > >&, spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >*, unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/alloc_traits.h:534
    #6 0x7f29b24de35f in void std::vector<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::_M_realloc_append<unsigned long&, std::allocator<char>&>(unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/vector.tcc:634
    #7 0x7f29b24d51a0 in void std::vector<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::emplace_back<unsigned long&, std::allocator<char>&>(unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/vector.tcc:123
    #8 0x7f29b250ae89 in spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >::Table(unsigned long, std::allocator<char> const&) ../include/ssids_cpu_BuddyAllocator.hxx:310
    #9 0x7f29b24ffb65 in spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> >::BuddyAllocator(unsigned long, std::allocator<double> const&) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effb65) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #10 0x7f29b24fa236 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:65
    #11 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #12 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #13 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #14 0x7f29b37bedca in gomp_barrier_handle_tasks /workspace/srcdir/gcc-14.2.0/libgomp/task.c:1650

Indirect leak of 131072 byte(s) in 1 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b24e827d in std::__new_allocator<int>::allocate(unsigned long, void const*) /usr/include/c++/14/bits/new_allocator.h:151
    #2 0x7f29b24e7341 in std::allocator_traits<std::allocator<int> >::allocate(std::allocator<int>&, unsigned long) /usr/include/c++/14/bits/alloc_traits.h:478
    #3 0x7f29b24e7341 in spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >::Page(unsigned long, std::allocator<char> const&) ../include/ssids_cpu_BuddyAllocator.hxx:81
    #4 0x7f29b24de35f in void std::__new_allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > >::construct<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, unsigned long&, std::allocator<char>&>(spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >*, unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/new_allocator.h:191
    #5 0x7f29b24de35f in void std::allocator_traits<std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::construct<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, unsigned long&, std::allocator<char>&>(std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > >&, spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >*, unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/alloc_traits.h:534
    #6 0x7f29b24de35f in void std::vector<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::_M_realloc_append<unsigned long&, std::allocator<char>&>(unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/vector.tcc:634
    #7 0x7f29b24d51a0 in void std::vector<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::emplace_back<unsigned long&, std::allocator<char>&>(unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/vector.tcc:123
    #8 0x7f29b250ae89 in spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >::Table(unsigned long, std::allocator<char> const&) ../include/ssids_cpu_BuddyAllocator.hxx:310
    #9 0x7f29b24ffb65 in spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> >::BuddyAllocator(unsigned long, std::allocator<double> const&) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effb65) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #10 0x7f29b24fa236 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:65
    #11 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #12 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #13 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #14 0x7f29b37bedca in gomp_barrier_handle_tasks /workspace/srcdir/gcc-14.2.0/libgomp/task.c:1650

Indirect leak of 1760 byte(s) in 10 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b2527ed1 in std::__new_allocator<spral::ssids::cpu::SymbolicNode>::allocate(unsigned long, void const*) /usr/include/c++/14/bits/new_allocator.h:151
    #2 0x7f29b2526094 in std::allocator_traits<std::allocator<spral::ssids::cpu::SymbolicNode> >::allocate(std::allocator<spral::ssids::cpu::SymbolicNode>&, unsigned long) /usr/include/c++/14/bits/alloc_traits.h:478
    #3 0x7f29b2526094 in std::_Vector_base<spral::ssids::cpu::SymbolicNode, std::allocator<spral::ssids::cpu::SymbolicNode> >::_M_allocate(unsigned long) /usr/include/c++/14/bits/stl_vector.h:380
    #4 0x7f29b25249f2 in std::_Vector_base<spral::ssids::cpu::SymbolicNode, std::allocator<spral::ssids::cpu::SymbolicNode> >::_M_create_storage(unsigned long) /usr/include/c++/14/bits/stl_vector.h:398
    #5 0x7f29b252207c in std::_Vector_base<spral::ssids::cpu::SymbolicNode, std::allocator<spral::ssids::cpu::SymbolicNode> >::_Vector_base(unsigned long, std::allocator<spral::ssids::cpu::SymbolicNode> const&) /usr/include/c++/14/bits/stl_vector.h:334
    #6 0x7f29b2520c08 in std::vector<spral::ssids::cpu::SymbolicNode, std::allocator<spral::ssids::cpu::SymbolicNode> >::vector(unsigned long, std::allocator<spral::ssids::cpu::SymbolicNode> const&) /usr/include/c++/14/bits/stl_vector.h:557
    #7 0x7f29b251eed9 in spral::ssids::cpu::SymbolicSubtree::SymbolicSubtree(int, int, int, int const*, int const*, long const*, int const*, long const*, long const*, int, int const*, spral::ssids::cpu::cpu_factor_options const&) ../include/ssids_cpu_SymbolicSubtree.hxx:29
    #8 0x7f29b251d7dd in spral_ssids_cpu_create_symbolic_subtree ../src/ssids/SymbolicSubtree.cxx:23
    #9 0x7f29b02c79a5 in __spral_ssids_cpu_subtree_double_MOD_construct_cpu_symbolic_subtree ../src/ssids/cpu_subtree.F90:853
    #10 0x7f29b0288858 in __spral_ssids_anal_double_MOD_analyse_phase._omp_fn.0 ../src/ssids/anal.F90:1095
    #11 0x7f29b37bb865 in GOMP_parallel /workspace/srcdir/gcc-14.2.0/libgomp/parallel.c:178

Indirect leak of 1449 byte(s) in 9 object(s) allocated from:
    #0 0x7f29b38f6830 in calloc /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x7f29b24f7425 in spral::ssids::cpu::append_alloc_internal::Page::Page(unsigned long, spral::ssids::cpu::append_alloc_internal::Page*) ../include/ssids_cpu_AppendAlloc.hxx:37
    #2 0x7f29b24f7762 in spral::ssids::cpu::append_alloc_internal::Pool::Pool(unsigned long) ../include/ssids_cpu_AppendAlloc.hxx:76
    #3 0x7f29b24ffa20 in spral::ssids::cpu::AppendAlloc<double>::AppendAlloc(unsigned long) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effa20) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #4 0x7f29b24fa1f4 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:64
    #5 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #6 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #7 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #8 0x7f29b37c1685 in GOMP_taskgroup_end /workspace/srcdir/gcc-14.2.0/libgomp/task.c:2330

Indirect leak of 1440 byte(s) in 9 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b25178e1 in std::__new_allocator<spral::ssids::cpu::NumericNode<double, spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> > > >::allocate(unsigned long, void const*) /usr/include/c++/14/bits/new_allocator.h:151
    #2 0x7f29b250b1f8 in std::allocator_traits<std::allocator<spral::ssids::cpu::NumericNode<double, spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> > > > >::allocate(std::allocator<spral::ssids::cpu::NumericNode<double, spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> > > >&, unsigned long) /usr/include/c++/14/bits/alloc_traits.h:478
    #3 0x7f29b250b1f8 in std::_Vector_base<spral::ssids::cpu::NumericNode<double, spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> > >, std::allocator<spral::ssids::cpu::NumericNode<double, spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> > > > >::_M_allocate(unsigned long) /usr/include/c++/14/bits/stl_vector.h:380
    #4 0x7f29b24fff34 in std::vector<spral::ssids::cpu::NumericNode<double, spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> > >, std::allocator<spral::ssids::cpu::NumericNode<double, spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> > > > >::reserve(unsigned long) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6efff34) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #5 0x7f29b24fa34d in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:69
    #6 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #7 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #8 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #9 0x7f29b37c1685 in GOMP_taskgroup_end /workspace/srcdir/gcc-14.2.0/libgomp/task.c:2330

Indirect leak of 1008 byte(s) in 9 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b24e7f0d in std::__new_allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > >::allocate(unsigned long, void const*) /usr/include/c++/14/bits/new_allocator.h:151
    #2 0x7f29b24e643e in std::allocator_traits<std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::allocate(std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > >&, unsigned long) /usr/include/c++/14/bits/alloc_traits.h:478
    #3 0x7f29b24e643e in std::_Vector_base<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::_M_allocate(unsigned long) /usr/include/c++/14/bits/stl_vector.h:380
    #4 0x7f29b24de1d8 in void std::vector<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::_M_realloc_append<unsigned long&, std::allocator<char>&>(unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/vector.tcc:596
    #5 0x7f29b24d51a0 in void std::vector<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::emplace_back<unsigned long&, std::allocator<char>&>(unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/vector.tcc:123
    #6 0x7f29b250ae89 in spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >::Table(unsigned long, std::allocator<char> const&) ../include/ssids_cpu_BuddyAllocator.hxx:310
    #7 0x7f29b24ffb65 in spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> >::BuddyAllocator(unsigned long, std::allocator<double> const&) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effb65) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #8 0x7f29b24fa236 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:65
    #9 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #10 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #11 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #12 0x7f29b37c1685 in GOMP_taskgroup_end /workspace/srcdir/gcc-14.2.0/libgomp/task.c:2330

Indirect leak of 720 byte(s) in 10 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b251d799 in spral_ssids_cpu_create_symbolic_subtree ../src/ssids/SymbolicSubtree.cxx:23
    #2 0x7f29b02c79a5 in __spral_ssids_cpu_subtree_double_MOD_construct_cpu_symbolic_subtree ../src/ssids/cpu_subtree.F90:853
    #3 0x7f29b0288858 in __spral_ssids_anal_double_MOD_analyse_phase._omp_fn.0 ../src/ssids/anal.F90:1095
    #4 0x7f29b37bb865 in GOMP_parallel /workspace/srcdir/gcc-14.2.0/libgomp/parallel.c:178

Indirect leak of 648 byte(s) in 9 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b24f69fb in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #2 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #3 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #4 0x7f29b37c1685 in GOMP_taskgroup_end /workspace/srcdir/gcc-14.2.0/libgomp/task.c:2330

Indirect leak of 432 byte(s) in 9 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b24ffb1f in spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> >::BuddyAllocator(unsigned long, std::allocator<double> const&) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effb1f) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #2 0x7f29b24fa236 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:65
    #3 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #4 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #5 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #6 0x7f29b37c1685 in GOMP_taskgroup_end /workspace/srcdir/gcc-14.2.0/libgomp/task.c:2330

Indirect leak of 288 byte(s) in 9 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b24f7710 in spral::ssids::cpu::append_alloc_internal::Pool::Pool(unsigned long) ../include/ssids_cpu_AppendAlloc.hxx:76
    #2 0x7f29b24ffa20 in spral::ssids::cpu::AppendAlloc<double>::AppendAlloc(unsigned long) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effa20) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #3 0x7f29b24fa1f4 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:64
    #4 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #5 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #6 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #7 0x7f29b37c1685 in GOMP_taskgroup_end /workspace/srcdir/gcc-14.2.0/libgomp/task.c:2330

Indirect leak of 216 byte(s) in 9 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b25181ea in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<spral::ssids::cpu::append_alloc_internal::Pool*>(spral::ssids::cpu::append_alloc_internal::Pool*) /usr/include/c++/14/bits/shared_ptr_base.h:915
    #2 0x7f29b25176a4 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<spral::ssids::cpu::append_alloc_internal::Pool*>(spral::ssids::cpu::append_alloc_internal::Pool*, std::integral_constant<bool, false>) /usr/include/c++/14/bits/shared_ptr_base.h:926
    #3 0x7f29b25157c6 in std::__shared_ptr<spral::ssids::cpu::append_alloc_internal::Pool, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<spral::ssids::cpu::append_alloc_internal::Pool, void>(spral::ssids::cpu::append_alloc_internal::Pool*) /usr/include/c++/14/bits/shared_ptr_base.h:1470
    #4 0x7f29b250acd2 in std::shared_ptr<spral::ssids::cpu::append_alloc_internal::Pool>::shared_ptr<spral::ssids::cpu::append_alloc_internal::Pool, void>(spral::ssids::cpu::append_alloc_internal::Pool*) /usr/include/c++/14/bits/shared_ptr.h:213
    #5 0x7f29b24ffa31 in spral::ssids::cpu::AppendAlloc<double>::AppendAlloc(unsigned long) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effa31) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #6 0x7f29b24fa1f4 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:64
    #7 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #8 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #9 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #10 0x7f29b37c1685 in GOMP_taskgroup_end /workspace/srcdir/gcc-14.2.0/libgomp/task.c:2330

Indirect leak of 216 byte(s) in 9 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b25183a0 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >*>(spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >*) /usr/include/c++/14/bits/shared_ptr_base.h:915
    #2 0x7f29b25177ea in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >*>(spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >*, std::integral_constant<bool, false>) /usr/include/c++/14/bits/shared_ptr_base.h:926
    #3 0x7f29b2515900 in std::__shared_ptr<spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >, void>(spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >*) /usr/include/c++/14/bits/shared_ptr_base.h:1470
    #4 0x7f29b250af76 in std::shared_ptr<spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> > >::shared_ptr<spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >, void>(spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >*) /usr/include/c++/14/bits/shared_ptr.h:213
    #5 0x7f29b24ffb77 in spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> >::BuddyAllocator(unsigned long, std::allocator<double> const&) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effb77) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #6 0x7f29b24fa236 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:65
    #7 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #8 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #9 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #10 0x7f29b37c1685 in GOMP_taskgroup_end /workspace/srcdir/gcc-14.2.0/libgomp/task.c:2330

Indirect leak of 161 byte(s) in 1 object(s) allocated from:
    #0 0x7f29b38f6830 in calloc /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x7f29b24f7425 in spral::ssids::cpu::append_alloc_internal::Page::Page(unsigned long, spral::ssids::cpu::append_alloc_internal::Page*) ../include/ssids_cpu_AppendAlloc.hxx:37
    #2 0x7f29b24f7762 in spral::ssids::cpu::append_alloc_internal::Pool::Pool(unsigned long) ../include/ssids_cpu_AppendAlloc.hxx:76
    #3 0x7f29b24ffa20 in spral::ssids::cpu::AppendAlloc<double>::AppendAlloc(unsigned long) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effa20) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #4 0x7f29b24fa1f4 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:64
    #5 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #6 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #7 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #8 0x7f29b37bedca in gomp_barrier_handle_tasks /workspace/srcdir/gcc-14.2.0/libgomp/task.c:1650

Indirect leak of 160 byte(s) in 1 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b25178e1 in std::__new_allocator<spral::ssids::cpu::NumericNode<double, spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> > > >::allocate(unsigned long, void const*) /usr/include/c++/14/bits/new_allocator.h:151
    #2 0x7f29b250b1f8 in std::allocator_traits<std::allocator<spral::ssids::cpu::NumericNode<double, spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> > > > >::allocate(std::allocator<spral::ssids::cpu::NumericNode<double, spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> > > >&, unsigned long) /usr/include/c++/14/bits/alloc_traits.h:478
    #3 0x7f29b250b1f8 in std::_Vector_base<spral::ssids::cpu::NumericNode<double, spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> > >, std::allocator<spral::ssids::cpu::NumericNode<double, spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> > > > >::_M_allocate(unsigned long) /usr/include/c++/14/bits/stl_vector.h:380
    #4 0x7f29b24fff34 in std::vector<spral::ssids::cpu::NumericNode<double, spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> > >, std::allocator<spral::ssids::cpu::NumericNode<double, spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> > > > >::reserve(unsigned long) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6efff34) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #5 0x7f29b24fa34d in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:69
    #6 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #7 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #8 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #9 0x7f29b37bedca in gomp_barrier_handle_tasks /workspace/srcdir/gcc-14.2.0/libgomp/task.c:1650

Indirect leak of 160 byte(s) in 10 object(s) allocated from:
    #0 0x7f29b38f6e77 in malloc /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x7f29b02c7474 in __spral_ssids_cpu_subtree_double_MOD_construct_cpu_symbolic_subtree ../src/ssids/cpu_subtree.F90:843
    #2 0x7f29b0288858 in __spral_ssids_anal_double_MOD_analyse_phase._omp_fn.0 ../src/ssids/anal.F90:1095
    #3 0x7f29b37bb865 in GOMP_parallel /workspace/srcdir/gcc-14.2.0/libgomp/parallel.c:178

Indirect leak of 144 byte(s) in 9 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b24ffa08 in spral::ssids::cpu::AppendAlloc<double>::AppendAlloc(unsigned long) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effa08) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #2 0x7f29b24fa1f4 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:64
    #3 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #4 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #5 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #6 0x7f29b37c1685 in GOMP_taskgroup_end /workspace/srcdir/gcc-14.2.0/libgomp/task.c:2330

Indirect leak of 112 byte(s) in 1 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b24e7f0d in std::__new_allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > >::allocate(unsigned long, void const*) /usr/include/c++/14/bits/new_allocator.h:151
    #2 0x7f29b24e643e in std::allocator_traits<std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::allocate(std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > >&, unsigned long) /usr/include/c++/14/bits/alloc_traits.h:478
    #3 0x7f29b24e643e in std::_Vector_base<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::_M_allocate(unsigned long) /usr/include/c++/14/bits/stl_vector.h:380
    #4 0x7f29b24de1d8 in void std::vector<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::_M_realloc_append<unsigned long&, std::allocator<char>&>(unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/vector.tcc:596
    #5 0x7f29b24d51a0 in void std::vector<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> >, std::allocator<spral::ssids::cpu::buddy_alloc_internal::Page<std::allocator<char> > > >::emplace_back<unsigned long&, std::allocator<char>&>(unsigned long&, std::allocator<char>&) /usr/include/c++/14/bits/vector.tcc:123
    #6 0x7f29b250ae89 in spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >::Table(unsigned long, std::allocator<char> const&) ../include/ssids_cpu_BuddyAllocator.hxx:310
    #7 0x7f29b24ffb65 in spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> >::BuddyAllocator(unsigned long, std::allocator<double> const&) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effb65) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #8 0x7f29b24fa236 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:65
    #9 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #10 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #11 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #12 0x7f29b37bedca in gomp_barrier_handle_tasks /workspace/srcdir/gcc-14.2.0/libgomp/task.c:1650

Indirect leak of 72 byte(s) in 1 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b24f69fb in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #2 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #3 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #4 0x7f29b37bedca in gomp_barrier_handle_tasks /workspace/srcdir/gcc-14.2.0/libgomp/task.c:1650

Indirect leak of 48 byte(s) in 1 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b24ffb1f in spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> >::BuddyAllocator(unsigned long, std::allocator<double> const&) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effb1f) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #2 0x7f29b24fa236 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:65
    #3 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #4 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #5 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #6 0x7f29b37bedca in gomp_barrier_handle_tasks /workspace/srcdir/gcc-14.2.0/libgomp/task.c:1650

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b24f7710 in spral::ssids::cpu::append_alloc_internal::Pool::Pool(unsigned long) ../include/ssids_cpu_AppendAlloc.hxx:76
    #2 0x7f29b24ffa20 in spral::ssids::cpu::AppendAlloc<double>::AppendAlloc(unsigned long) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effa20) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #3 0x7f29b24fa1f4 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:64
    #4 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #5 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #6 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #7 0x7f29b37bedca in gomp_barrier_handle_tasks /workspace/srcdir/gcc-14.2.0/libgomp/task.c:1650

Indirect leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b25181ea in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<spral::ssids::cpu::append_alloc_internal::Pool*>(spral::ssids::cpu::append_alloc_internal::Pool*) /usr/include/c++/14/bits/shared_ptr_base.h:915
    #2 0x7f29b25176a4 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<spral::ssids::cpu::append_alloc_internal::Pool*>(spral::ssids::cpu::append_alloc_internal::Pool*, std::integral_constant<bool, false>) /usr/include/c++/14/bits/shared_ptr_base.h:926
    #3 0x7f29b25157c6 in std::__shared_ptr<spral::ssids::cpu::append_alloc_internal::Pool, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<spral::ssids::cpu::append_alloc_internal::Pool, void>(spral::ssids::cpu::append_alloc_internal::Pool*) /usr/include/c++/14/bits/shared_ptr_base.h:1470
    #4 0x7f29b250acd2 in std::shared_ptr<spral::ssids::cpu::append_alloc_internal::Pool>::shared_ptr<spral::ssids::cpu::append_alloc_internal::Pool, void>(spral::ssids::cpu::append_alloc_internal::Pool*) /usr/include/c++/14/bits/shared_ptr.h:213
    #5 0x7f29b24ffa31 in spral::ssids::cpu::AppendAlloc<double>::AppendAlloc(unsigned long) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effa31) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #6 0x7f29b24fa1f4 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:64
    #7 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #8 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #9 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #10 0x7f29b37bedca in gomp_barrier_handle_tasks /workspace/srcdir/gcc-14.2.0/libgomp/task.c:1650

Indirect leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b25183a0 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >*>(spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >*) /usr/include/c++/14/bits/shared_ptr_base.h:915
    #2 0x7f29b25177ea in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >*>(spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >*, std::integral_constant<bool, false>) /usr/include/c++/14/bits/shared_ptr_base.h:926
    #3 0x7f29b2515900 in std::__shared_ptr<spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >, void>(spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >*) /usr/include/c++/14/bits/shared_ptr_base.h:1470
    #4 0x7f29b250af76 in std::shared_ptr<spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> > >::shared_ptr<spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >, void>(spral::ssids::cpu::buddy_alloc_internal::Table<std::allocator<char> >*) /usr/include/c++/14/bits/shared_ptr.h:213
    #5 0x7f29b24ffb77 in spral::ssids::cpu::BuddyAllocator<double, std::allocator<double> >::BuddyAllocator(unsigned long, std::allocator<double> const&) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effb77) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #6 0x7f29b24fa236 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:65
    #7 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #8 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #9 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #10 0x7f29b37bedca in gomp_barrier_handle_tasks /workspace/srcdir/gcc-14.2.0/libgomp/task.c:1650

Indirect leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7f29b38f7998 in operator new(unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f29b24ffa08 in spral::ssids::cpu::AppendAlloc<double>::AppendAlloc(unsigned long) (/home/runner/work/GALAHAD/GALAHAD/builddir/libgalahad_double.so+0x6effa08) (BuildId: 084aec738a79a90504dcf4d00ce0e3ad02961f88)
    #2 0x7f29b24fa1f4 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:64
    #3 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #4 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #5 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #6 0x7f29b37bedca in gomp_barrier_handle_tasks /workspace/srcdir/gcc-14.2.0/libgomp/task.c:1650

Indirect leak of 9 byte(s) in 9 object(s) allocated from:
    #0 0x7f29b38f7af8 in operator new[](unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:98
    #1 0x7f29b24fa2b3 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:66
    #2 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #3 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #4 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #5 0x7f29b37c1685 in GOMP_taskgroup_end /workspace/srcdir/gcc-14.2.0/libgomp/task.c:2330

Indirect leak of 1 byte(s) in 1 object(s) allocated from:
    #0 0x7f29b38f7af8 in operator new[](unsigned long) /workspace/srcdir/gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:98
    #1 0x7f29b24fa2b3 in spral::ssids::cpu::NumericSubtree<false, double, 8388608ul, spral::ssids::cpu::AppendAlloc<double> >::NumericSubtree(spral::ssids::cpu::SymbolicSubtree const&, double const*, double const*, void**, spral::ssids::cpu::cpu_factor_options const&, spral::ssids::cpu::ThreadStats&) ../include/ssids_cpu_NumericSubtree.hxx:66
    #2 0x7f29b24f6a30 in spral_ssids_cpu_create_num_subtree_dbl ../src/ssids/NumericSubtree.cxx:63
    #3 0x7f29b02c6c66 in __spral_ssids_cpu_subtree_double_MOD_factor ../src/ssids/cpu_subtree.F90:905
    #4 0x7f29b02d974d in __spral_ssids_fkeep_double_MOD_inner_factor_cpu._omp_fn.2 ../src/ssids/fkeep.F90:162
    #5 0x7f29b37bedca in gomp_barrier_handle_tasks /workspace/srcdir/gcc-14.2.0/libgomp/task.c:1650

SUMMARY: AddressSanitizer: 6563140 byte(s) leaked in 160 allocation(s).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions