From 860a3cbbd308e7f201281abdae0941733fb9ff98 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 6 Apr 2025 03:02:34 -0400 Subject: [PATCH] add suppressions for dlopen() and friends --- tools/valgrind/README | 26 ++++++++------- tools/valgrind/libc.supp | 69 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+), 12 deletions(-) create mode 100644 tools/valgrind/libc.supp diff --git a/tools/valgrind/README b/tools/valgrind/README index 277b1dfd1f..77479d52d3 100644 --- a/tools/valgrind/README +++ b/tools/valgrind/README @@ -6,14 +6,15 @@ when running "ctest -T memcheck". To manually add them to do a memory check on running LAMMPS, use a command line like following: valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes \ - --suppressions=/path/to/lammps/tools/valgrind/OpenMP.supp \ - --suppressions=/path/to/lammps/tools/valgrind/OpenMPI.supp \ - --suppressions=/path/to/lammps/tools/valgrind/MPICH.supp \ - --suppressions=/path/to/lammps/tools/valgrind/LLVM.supp \ - --suppressions=/path/to/lammps/tools/valgrind/Python3.supp \ + --suppressions=/path/to/lammps/tools/valgrind/FlexiBLAS.supp \ --suppressions=/path/to/lammps/tools/valgrind/GTest.supp \ --suppressions=/path/to/lammps/tools/valgrind/Kokkos.supp \ - --suppressions=/path/to/lammps/tools/valgrind/FlexiBLAS.supp \ + --suppressions=/path/to/lammps/tools/valgrind/LLVM.supp \ + --suppressions=/path/to/lammps/tools/valgrind/MPICH.supp \ + --suppressions=/path/to/lammps/tools/valgrind/OpenMP.supp \ + --suppressions=/path/to/lammps/tools/valgrind/OpenMPI.supp \ + --suppressions=/path/to/lammps/tools/valgrind/Python3.supp \ + --suppressions=/path/to/lammps/tools/valgrind/libc.supp \ --suppressions=/path/to/lammps/tools/valgrind/readline.supp \ lmp -in in.melt @@ -22,15 +23,16 @@ Or you can create a file $HOME/.valgrindrc with one option per line: --leak-check=full --show-leak-kinds=all --track-origins=yes ---suppressions=/path/to/lammps/tools/valgrind/OpenMP.supp ---suppressions=/path/to/lammps/tools/valgrind/OpenMPI.supp ---suppressions=/path/to/lammps/tools/valgrind/MPICH.supp ---suppressions=/path/to/lammps/tools/valgrind/LLVM.supp +--suppressions=/path/to/lammps/tools/valgrind/FlexiBLAS.supp --suppressions=/path/to/lammps/tools/valgrind/GTest.supp --suppressions=/path/to/lammps/tools/valgrind/Kokkos.supp ---suppressions=/path/to/lammps/tools/valgrind/FlexiBLAS.supp ---suppressions=/path/to/lammps/tools/valgrind/readline.supp +--suppressions=/path/to/lammps/tools/valgrind/LLVM.supp +--suppressions=/path/to/lammps/tools/valgrind/MPICH.supp +--suppressions=/path/to/lammps/tools/valgrind/OpenMP.supp +--suppressions=/path/to/lammps/tools/valgrind/OpenMPI.supp --suppressions=/path/to/lammps/tools/valgrind/Python3.supp +--suppressions=/path/to/lammps/tools/valgrind/libc.supp +--suppressions=/path/to/lammps/tools/valgrind/readline.supp These options will be automatically added to the valgrind command line, so it becomes: valgrind lmp -in in.melt diff --git a/tools/valgrind/libc.supp b/tools/valgrind/libc.supp new file mode 100644 index 0000000000..2b90fd3f1f --- /dev/null +++ b/tools/valgrind/libc.supp @@ -0,0 +1,69 @@ +{ + libc_dlopen1 + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + fun:malloc + fun:strdup + fun:_dl_load_cache_lookup + fun:_dl_map_object + fun:dl_open_worker_begin + fun:_dl_catch_exception + fun:dl_open_worker + fun:_dl_catch_exception + fun:_dl_open + fun:do_dlopen + fun:_dl_catch_exception + fun:_dl_catch_error +} +{ + libc_dlopen2 + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + fun:* + fun:_dl_new_object + fun:_dl_map_object_from_fd + fun:_dl_map_object + fun:dl_open_worker_begin + fun:_dl_catch_exception + fun:dl_open_worker + fun:_dl_catch_exception + fun:_dl_open + fun:do_dlopen + fun:_dl_catch_exception + fun:_dl_catch_error +} +{ + libc_dlopen3 + Memcheck:Leak + match-leak-kinds: reachable + fun:calloc + fun:* + fun:_dl_check_map_versions + fun:dl_open_worker_begin + fun:_dl_catch_exception + fun:dl_open_worker + fun:_dl_catch_exception + fun:_dl_open + fun:do_dlopen + ... +} +{ + libc_dlopen4 + Memcheck:Leak + match-leak-kinds: reachable + fun:calloc + fun:* + fun:_dl_new_object + fun:_dl_map_object_from_fd + fun:_dl_map_object + fun:dl_open_worker_begin + fun:_dl_catch_exception + fun:dl_open_worker + fun:_dl_catch_exception + fun:_dl_open + fun:do_dlopen + fun:_dl_catch_exception + fun:_dl_catch_error +}