Hello again, Thank both of you John and Paul for helping me out.
I changed the mentioned macros and compiled valgrind. The outcome of the test is the same. However I can see additional debug output in the logs. There is a repeating pattern, Valgrind scans the same memory region and something happens there: scan 0x4fc1000-0x4fc4000 (12288) scan 0x53c4000-0x14dc4000 (262144000) --00:00:01:42.342 3477-- sync signal handler: signal=7, si_code=2, EIP=0x0, eip=0x58002e8d, from kernel Now the valgrind will repeatedly output the last line. Below are some logs from 3 processes that produce extensive log files. Kind regards, Wojciech 1. Log file for process 3477 (260MB when valgrind killed): ==00:00:00:01.741 3477== Memcheck, a memory error detector ==00:00:00:01.741 3477== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al. ==00:00:00:01.741 3477== Using Valgrind-3.24.0-fcdaa47426-20241101X and LibVEX; rerun with -h for copyright info ==00:00:00:01.741 3477== Command: bin/gm_server --master XXXXXXXXXXXXXXXXXXXXXXXX ==00:00:00:01.741 3477== Parent PID: 3461 ==00:00:00:01.741 3477== --00:00:00:01.741 3477-- --00:00:00:01.741 3477-- Valgrind options: --00:00:00:01.741 3477-- --log-file=/tmp/valgrind/memcheck-%p.log --00:00:00:01.741 3477-- --tool=memcheck --00:00:00:01.741 3477-- --leak-check=summary --00:00:00:01.741 3477-- --time-stamp=yes --00:00:00:01.741 3477-- --track-fds=no --00:00:00:01.741 3477-- --trace-signals=yes --00:00:00:01.741 3477-- --track-origins=no --00:00:00:01.741 3477-- --trace-children=yes --00:00:00:01.741 3477-- --trace-children-skip=*/awk,*/bash,*/chattr,*/chmod,*/curl,*/date,*/du,*/expr,*/grep,*/ip,*/locale,*/logger,*/mkdir,*/mv,*/rm,*/sed,*/sh,*/sort,*/touch,*/wc --00:00:00:01.741 3477-- --vgdb=no --00:00:00:01.741 3477-- --error-limit=no --00:00:00:01.741 3477-- --verbose --00:00:00:01.741 3477-- Contents of /proc/version: --00:00:00:01.741 3477-- Linux version 6.11.9-100.fc39.x86_64 (mockbuild@03ca63968fb540ceb027c83bbfe793be) (gcc (GCC) 13.3.1 20240913 (Red Hat 13.3.1-3), GNU ld version 2.40-14.fc39) #1 SMP PREEMPT_DYNAMIC Sun Nov 17 18:52:19 UTC 2024 --00:00:00:01.741 3477-- --00:00:00:01.741 3477-- Arch and hwcaps: X86, LittleEndian, x86-mmxext-sse1-sse2-sse3-lzcnt --00:00:00:01.741 3477-- Page sizes: currently 4096, max supported 4096 --00:00:00:01.741 3477-- Valgrind library directory: /usr/local/libexec/valgrind --00:00:00:01.750 3477-- sys_sigaction: sigNo 12, new 0xfeae4d34, old 0x0, new flags 0x4000000 --00:00:00:01.750 3477-- sys_sigaction: sigNo 10, new 0xfeae4d34, old 0x0, new flags 0x4000000 --00:00:00:01.751 3477-- sys_sigaction: sigNo 15, new 0xfeae4d34, old 0x0, new flags 0x4000000 --00:00:00:01.752 3477-- sys_sigaction: sigNo 13, new 0xfeae4d34, old 0x0, new flags 0x4000000 --00:00:00:01.752 3477-- sys_sigaction: sigNo 2, new 0xfeae4d34, old 0x0, new flags 0x4000000 --00:00:00:01.753 3477-- sys_sigaction: sigNo 17, new 0xfeae4d34, old 0x0, new flags 0x4000000 --00:00:00:01.754 3477-- do_setmask: tid = 1 how = 2 (SIG_SETMASK), newset = 0x0 (NULL) --00:00:00:01.754 3477-- oldset=0xFEAE4FCC 0000000000000000 --00:00:00:01.757 3477-- do_setmask: tid = 1 how = 2 (SIG_SETMASK), newset = 0xFEAE4EA0 (fffffffe7ffee115) --00:00:01:42.040 3477-- sys_sigaction: sigNo 11, new 0x82cfdeec, old 0x0, new flags 0x0 --00:00:01:42.040 3477-- sys_sigaction: sigNo 7, new 0x82cfdeec, old 0x0, new flags 0x0 --00:00:01:42.040 3477-- sys_sigaction: sigNo 4, new 0x82cfdee4, old 0x0, new flags 0x0 --00:00:01:42.040 3477-- sys_sigaction: sigNo 8, new 0x82cfdee4, old 0x0, new flags 0x0 --00:00:01:42.040 3477-- sys_sigaction: sigNo 31, new 0x82cfdedc, old 0x0, new flags 0x0 ==00:00:01:42.065 3477== ==00:00:01:42.065 3477== HEAP SUMMARY: ==00:00:01:42.065 3477== in use at exit: 2,440 bytes in 378 blocks ==00:00:01:42.065 3477== total heap usage: 3,807 allocs, 3,429 frees, 430,504 bytes allocated ==00:00:01:42.065 3477== ==00:00:01:42.065 3477== Searching for pointers to 378 not-freed blocks scan 0x30d000-0x5d4000 (2912256) ptr=0x502ac10 -> block 368 ptr=0x503b100 -> block 373 ptr=0x50200b0 -> block 299 ptr=0x5020150 -> block 301 ptr=0x50201f0 -> block 303 ptr=0x5020600 -> block 316 ptr=0x5020560 -> block 314 ptr=0x503b160 -> block 374 ptr=0x501fcf0 -> block 287 ptr=0x501fd90 -> block 289 ptr=0x501fc50 -> block 285 ptr=0x503b100 -> block 373 ptr=0x5018d80 -> block 0 ptr=0x5018dd0 -> block 1 ptr=0x5018e20 -> block 2 ptr=0x5018e70 -> block 3 ptr=0x5018ed0 -> block 4 ptr=0x5018f40 -> block 5 ptr=0x5018f90 -> block 6 ptr=0x5018fe0 -> block 7 ptr=0x5019030 -> block 8 ptr=0x5019080 -> block 9 ptr=0x50190d0 -> block 10 ... ptr=0x503b3b0 -> block 376 ptr=0x501a0f3 -> block 61 scan 0x5d4000-0x5dd000 (36864) ptr=0x502ac10 -> block 368 ptr=0x5024b70 -> block 352 ptr=0x502a9d0 -> block 364 ptr=0x502aa70 -> block 365 ptr=0x502aa70 -> block 365 ptr=0x502aac0 -> block 366 ptr=0x501d850 -> block 236 ptr=0x501d8a0 -> block 237 scan 0x4036000-0x4037000 (4096) scan 0x4037000-0x4038000 (4096) scan 0x4837000-0x4839000 (8192) scan 0x483d000-0x483e000 (4096) scan 0x4858000-0x4859000 (4096) scan 0x4861000-0x4862000 (4096) scan 0x4872000-0x4873000 (4096) scan 0x4873000-0x4875000 (8192) scan 0x494c000-0x494f000 (12288) scan 0x494f000-0x4950000 (4096) scan 0x4d97000-0x4d99000 (8192) scan 0x4d99000-0x4d9b000 (8192) scan 0x4db8000-0x4db9000 (4096) scan 0x4fb2000-0x4fb3000 (4096) scan 0x4fb3000-0x4fb8000 (20480) scan 0x4fbc000-0x4fbd000 (4096) scan 0x4fc1000-0x4fc4000 (12288) scan 0x53c4000-0x14dc4000 (262144000) --00:00:01:42.342 3477-- sync signal handler: signal=7, si_code=2, EIP=0x0, eip=0x58002e8d, from kernel --00:00:01:42.342 3477-- sync signal handler: signal=7, si_code=2, EIP=0x0, eip=0x58002e8d, from kernel --00:00:01:42.342 3477-- sync signal handler: signal=7, si_code=2, EIP=0x0, eip=0x58002e8d, from kernel 2. Log file for process 3479 (335MB when valgrind killed): ==00:00:00:01.749 3479== Memcheck, a memory error detector ==00:00:00:01.749 3479== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al. ==00:00:00:01.749 3479== Using Valgrind-3.24.0-fcdaa47426-20241101X and LibVEX; rerun with -h for copyright info ==00:00:00:01.749 3479== Command: bin/gm_server --master XXXXXXXXXXXXXXXXXXXXXXXX ==00:00:00:01.749 3479== Parent PID: 3461 ==00:00:00:01.749 3479== --00:00:00:01.749 3479-- --00:00:00:01.749 3479-- Valgrind options: --00:00:00:01.749 3479-- --log-file=/tmp/valgrind/memcheck-%p.log --00:00:00:01.749 3479-- --tool=memcheck --00:00:00:01.749 3479-- --leak-check=summary --00:00:00:01.749 3479-- --time-stamp=yes --00:00:00:01.749 3479-- --track-fds=no --00:00:00:01.749 3479-- --trace-signals=yes --00:00:00:01.749 3479-- --track-origins=no --00:00:00:01.749 3479-- --trace-children=yes --00:00:00:01.749 3479-- --trace-children-skip=*/awk,*/bash,*/chattr,*/chmod,*/curl,*/date,*/du,*/expr,*/grep,*/ip,*/locale,*/logger,*/mkdir,*/mv,*/rm,*/sed,*/sh,*/sort,*/touch,*/wc --00:00:00:01.749 3479-- --vgdb=no --00:00:00:01.749 3479-- --error-limit=no --00:00:00:01.749 3479-- --verbose --00:00:00:01.749 3479-- Contents of /proc/version: --00:00:00:01.749 3479-- Linux version 6.11.9-100.fc39.x86_64 (mockbuild@03ca63968fb540ceb027c83bbfe793be) (gcc (GCC) 13.3.1 20240913 (Red Hat 13.3.1-3), GNU ld version 2.40-14.fc39) #1 SMP PREEMPT_DYNAMIC Sun Nov 17 18:52:19 UTC 2024 --00:00:00:01.749 3479-- --00:00:00:01.749 3479-- Arch and hwcaps: X86, LittleEndian, x86-mmxext-sse1-sse2-sse3-lzcnt --00:00:00:01.749 3479-- Page sizes: currently 4096, max supported 4096 --00:00:00:01.749 3479-- Valgrind library directory: /usr/local/libexec/valgrind --00:00:00:01.759 3479-- sys_sigaction: sigNo 12, new 0xfeae4cf4, old 0x0, new flags 0x4000000 --00:00:00:01.759 3479-- sys_sigaction: sigNo 10, new 0xfeae4cf4, old 0x0, new flags 0x4000000 --00:00:00:01.759 3479-- sys_sigaction: sigNo 15, new 0xfeae4cf4, old 0x0, new flags 0x4000000 --00:00:00:01.760 3479-- sys_sigaction: sigNo 13, new 0xfeae4cf4, old 0x0, new flags 0x4000000 --00:00:00:01.760 3479-- sys_sigaction: sigNo 2, new 0xfeae4cf4, old 0x0, new flags 0x4000000 --00:00:00:01.760 3479-- do_setmask: tid = 1 how = 2 (SIG_SETMASK), newset = 0x0 (NULL) --00:00:00:01.760 3479-- oldset=0xFEAE4FBC 0000000000000000 --00:00:00:01.762 3479-- do_setmask: tid = 1 how = 2 (SIG_SETMASK), newset = 0xFEAE4E60 (fffffffe7fffe115) --00:00:00:01.765 3479-- do_setmask: tid = 1 how = 2 (SIG_SETMASK), newset = 0xFEAE4FBC (0000000000000000) --00:00:01:33.725 3479-- async signal handler: signal=15, vgtid=3479, tid=1, si_code=0, exitreason VgSrc_None --00:00:01:33.725 3479-- interrupted_syscall: tid=1, ip=0x580d540d, restart=False, sres.isErr=True, sres.val=4 --00:00:01:33.725 3479-- completed, but uncommitted: committing --00:00:01:33.725 3479-- delivering signal 15 (SIGTERM):0 to thread 1 --00:00:01:33.725 3479-- push_signal_frame (thread 1): signal 15 ==00:00:01:33.725 3479== at 0x4E6D47B: __clock_nanosleep_time64 (clock_nanosleep.c:62) ==00:00:01:33.725 3479== by 0x4E80024: __nanosleep64 (nanosleep.c:25) ==00:00:01:33.725 3479== by 0x4E80024: nanosleep (nanosleep.c:42) ==00:00:01:33.725 3479== by 0x4E92263: sleep (sleep.c:55) ==00:00:01:33.725 3479== by 0x1CF4A9: harmony_process (harmony.c:1320) ==00:00:01:33.725 3479== by 0x1D0E02: harmony_run (harmony.c:1811) ==00:00:01:33.725 3479== by 0x29BDC3: main (main.c:1054) --00:00:01:33.726 3479-- VG_(sigframe_destroy) (thread 1): isRT=0 valid magic; EIP=0x401b002 --00:00:01:33.818 3479-- sys_sigaction: sigNo 11, new 0x82cfdeec, old 0x0, new flags 0x0 --00:00:01:33.818 3479-- sys_sigaction: sigNo 7, new 0x82cfdeec, old 0x0, new flags 0x0 --00:00:01:33.818 3479-- sys_sigaction: sigNo 4, new 0x82cfdee4, old 0x0, new flags 0x0 --00:00:01:33.818 3479-- sys_sigaction: sigNo 8, new 0x82cfdee4, old 0x0, new flags 0x0 --00:00:01:33.818 3479-- sys_sigaction: sigNo 31, new 0x82cfdedc, old 0x0, new flags 0x0 ==00:00:01:33.833 3479== ==00:00:01:33.833 3479== HEAP SUMMARY: ==00:00:01:33.833 3479== in use at exit: 2,440 bytes in 378 blocks ==00:00:01:33.833 3479== total heap usage: 3,810 allocs, 3,432 frees, 452,136 bytes allocated ==00:00:01:33.833 3479== ==00:00:01:33.833 3479== Searching for pointers to 378 not-freed blocks scan 0x30d000-0x5d4000 (2912256) ptr=0x502ac10 -> block 368 ptr=0x503b100 -> block 373 ptr=0x50200b0 -> block 299 ptr=0x5020150 -> block 301 ptr=0x50201f0 -> block 303 ptr=0x5020600 -> block 316 ptr=0x5020560 -> block 314 ptr=0x503b160 -> block 374 ptr=0x501fcf0 -> block 287 ptr=0x501fd90 -> block 289 ptr=0x501fc50 -> block 285 ptr=0x503b100 -> block 373 ptr=0x5018d80 -> block 0 ptr=0x5018dd0 -> block 1 ptr=0x5018e20 -> block 2 ptr=0x5018e70 -> block 3 ptr=0x5018ed0 -> block 4 ptr=0x5018f40 -> block 5 ptr=0x5018f90 -> block 6 ptr=0x5018fe0 -> block 7 ptr=0x5019030 -> block 8 ptr=0x5019080 -> block 9 ptr=0x50190d0 -> block 10 ... ptr=0x503b3b0 -> block 376 ptr=0x501a0f3 -> block 61 scan 0x5d4000-0x5dd000 (36864) ptr=0x502ac10 -> block 368 ptr=0x5024b70 -> block 352 ptr=0x502a9d0 -> block 364 ptr=0x502aa70 -> block 365 ptr=0x502aa70 -> block 365 ptr=0x502aac0 -> block 366 ptr=0x501d850 -> block 236 ptr=0x501d8a0 -> block 237 scan 0x4036000-0x4037000 (4096) scan 0x4037000-0x4038000 (4096) scan 0x4837000-0x4839000 (8192) scan 0x483d000-0x483e000 (4096) scan 0x4858000-0x4859000 (4096) scan 0x4861000-0x4862000 (4096) scan 0x4872000-0x4873000 (4096) scan 0x4873000-0x4875000 (8192) scan 0x494c000-0x494f000 (12288) scan 0x494f000-0x4950000 (4096) scan 0x4d97000-0x4d99000 (8192) scan 0x4d99000-0x4d9b000 (8192) scan 0x4db8000-0x4db9000 (4096) scan 0x4fb2000-0x4fb3000 (4096) scan 0x4fb3000-0x4fb8000 (20480) scan 0x4fbc000-0x4fbd000 (4096) scan 0x4fc1000-0x4fc4000 (12288) scan 0x53c4000-0x14dc4000 (262144000) --00:00:01:34.000 3479-- sync signal handler: signal=7, si_code=2, EIP=0x0, eip=0x58002e8d, from kernel --00:00:01:34.000 3479-- sync signal handler: signal=7, si_code=2, EIP=0x0, eip=0x58002e8d, from kernel --00:00:01:34.000 3479-- sync signal handler: signal=7, si_code=2, EIP=0x0, eip=0x58002e8d, from kernel 3. Log file for process 3491 (142MB when valgrind killed): ==00:00:00:02.218 3491== Memcheck, a memory error detector ==00:00:00:02.218 3491== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al. ==00:00:00:02.218 3491== Using Valgrind-3.24.0-fcdaa47426-20241101X and LibVEX; rerun with -h for copyright info ==00:00:00:02.218 3491== Command: bin/gm_server --master XXXXXXXXXXXXXXXXXXXXXXXX ==00:00:00:02.218 3491== Parent PID: 3461 ==00:00:00:02.218 3491== --00:00:00:02.218 3491-- --00:00:00:02.218 3491-- Valgrind options: --00:00:00:02.218 3491-- --log-file=/tmp/valgrind/memcheck-%p.log --00:00:00:02.218 3491-- --tool=memcheck --00:00:00:02.218 3491-- --leak-check=summary --00:00:00:02.218 3491-- --time-stamp=yes --00:00:00:02.218 3491-- --track-fds=no --00:00:00:02.218 3491-- --trace-signals=yes --00:00:00:02.218 3491-- --track-origins=no --00:00:00:02.218 3491-- --trace-children=yes --00:00:00:02.218 3491-- --trace-children-skip=*/awk,*/bash,*/chattr,*/chmod,*/curl,*/date,*/du,*/expr,*/grep,*/ip,*/locale,*/logger,*/mkdir,*/mv,*/rm,*/sed,*/sh,*/sort,*/touch,*/wc --00:00:00:02.218 3491-- --vgdb=no --00:00:00:02.218 3491-- --error-limit=no --00:00:00:02.218 3491-- --verbose --00:00:00:02.218 3491-- Contents of /proc/version: --00:00:00:02.218 3491-- Linux version 6.11.9-100.fc39.x86_64 (mockbuild@03ca63968fb540ceb027c83bbfe793be) (gcc (GCC) 13.3.1 20240913 (Red Hat 13.3.1-3), GNU ld version 2.40-14.fc39) #1 SMP PREEMPT_DYNAMIC Sun Nov 17 18:52:19 UTC 2024 --00:00:00:02.218 3491-- --00:00:00:02.218 3491-- Arch and hwcaps: X86, LittleEndian, x86-mmxext-sse1-sse2-sse3-lzcnt --00:00:00:02.218 3491-- Page sizes: currently 4096, max supported 4096 --00:00:00:02.218 3491-- Valgrind library directory: /usr/local/libexec/valgrind --00:00:00:02.227 3491-- sys_sigaction: sigNo 12, new 0xfeae4d04, old 0x0, new flags 0x4000000 --00:00:00:02.228 3491-- sys_sigaction: sigNo 10, new 0xfeae4d04, old 0x0, new flags 0x4000000 --00:00:00:02.228 3491-- sys_sigaction: sigNo 15, new 0xfeae4d04, old 0x0, new flags 0x4000000 --00:00:00:02.229 3491-- sys_sigaction: sigNo 13, new 0xfeae4d04, old 0x0, new flags 0x4000000 --00:00:00:02.229 3491-- sys_sigaction: sigNo 2, new 0xfeae4d04, old 0x0, new flags 0x4000000 --00:00:00:02.229 3491-- sys_sigaction: sigNo 17, new 0xfeae4d04, old 0x0, new flags 0x4000000 --00:00:00:02.230 3491-- do_setmask: tid = 1 how = 2 (SIG_SETMASK), newset = 0x0 (NULL) --00:00:00:02.230 3491-- oldset=0xFEAE4FBC 0000000000000000 --00:00:00:02.231 3491-- do_setmask: tid = 1 how = 2 (SIG_SETMASK), newset = 0xFEAE4E70 (fffffffe7ffee115) --00:00:02:02.494 3491-- sys_sigaction: sigNo 11, new 0x82cfdeec, old 0x0, new flags 0x0 --00:00:02:02.494 3491-- sys_sigaction: sigNo 7, new 0x82cfdeec, old 0x0, new flags 0x0 --00:00:02:02.494 3491-- sys_sigaction: sigNo 4, new 0x82cfdee4, old 0x0, new flags 0x0 --00:00:02:02.494 3491-- sys_sigaction: sigNo 8, new 0x82cfdee4, old 0x0, new flags 0x0 --00:00:02:02.494 3491-- sys_sigaction: sigNo 31, new 0x82cfdedc, old 0x0, new flags 0x0 ==00:00:02:02.525 3491== ==00:00:02:02.525 3491== HEAP SUMMARY: ==00:00:02:02.525 3491== in use at exit: 20,649 bytes in 576 blocks ==00:00:02:02.525 3491== total heap usage: 5,562 allocs, 4,986 frees, 595,523 bytes allocated ==00:00:02:02.525 3491== ==00:00:02:02.526 3491== Searching for pointers to 576 not-freed blocks scan 0x30d000-0x5d4000 (2912256) ptr=0x502ac10 -> block 377 ptr=0x503b100 -> block 382 ptr=0x50200b0 -> block 308 ptr=0x5020150 -> block 310 ptr=0x50201f0 -> block 312 ptr=0x5020600 -> block 325 ptr=0x5020560 -> block 323 ptr=0x503b160 -> block 383 ptr=0x501fcf0 -> block 296 ptr=0x501fd90 -> block 298 ptr=0x501fc50 -> block 294 ptr=0x503b100 -> block 382 ptr=0x5018d80 -> block 9 ptr=0x5018dd0 -> block 10 ... ptr=0x50b2770 -> block 558 ptr=0x50b2880 -> block 560 ptr=0x50b14d0 -> block 539 ptr=0x50b09b0 -> block 538 ptr=0x50a2f40 -> block 499 scan 0x4036000-0x4037000 (4096) scan 0x4037000-0x4038000 (4096) scan 0x4837000-0x4839000 (8192) scan 0x483d000-0x483e000 (4096) scan 0x4858000-0x4859000 (4096) scan 0x4861000-0x4862000 (4096) scan 0x4872000-0x4873000 (4096) scan 0x4873000-0x4875000 (8192) scan 0x494c000-0x494f000 (12288) scan 0x494f000-0x4950000 (4096) scan 0x4d97000-0x4d99000 (8192) scan 0x4d99000-0x4d9b000 (8192) scan 0x4db8000-0x4db9000 (4096) scan 0x4fb2000-0x4fb3000 (4096) scan 0x4fb3000-0x4fb8000 (20480) scan 0x4fbc000-0x4fbd000 (4096) scan 0x4fc1000-0x4fc4000 (12288) scan 0x53c4000-0x14dc4000 (262144000) --00:00:02:02.918 3491-- sync signal handler: signal=7, si_code=2, EIP=0x0, eip=0x58002e8d, from kernel --00:00:02:02.918 3491-- sync signal handler: signal=7, si_code=2, EIP=0x0, eip=0x58002e8d, from kernel --00:00:02:02.918 3491-- sync signal handler: signal=7, si_code=2, EIP=0x0, eip=0x58002e8d, from kernel On Mon, Dec 9, 2024 at 8:28 AM Paul Floyd via Valgrind-users <valgrind-users@lists.sourceforge.net> wrote: > > > > On 05-12-24 14:19, Wojciech Bocer wrote: > > Hello, > > > > I have a problem with Valgrind taking a lot of time trying to > > determine if there are memory leaks before it exits. > > > Roughly speaking leak detection involves scanning though all accessible > memory using pointer-size alignment to look for any pointers to unfreed > memory blocks. This code does handle segfaults. > > I don't have any real idea why the combination of x86 and Docker gives > large numbers of segfaults and a major slowdown. > > I suggest that you get the source for Valgrind and set these macros in > mc_leakcheck.c to 1 > > > // Define to debug the memory-leak-detector. > #define VG_DEBUG_FIND_CHUNK 0 > #define VG_DEBUG_LEAKCHECK 0 > #define VG_DEBUG_CLIQUE 0 > > and then build Valgrind. > > A+ > Paul > > > > _______________________________________________ > Valgrind-users mailing list > Valgrind-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/valgrind-users _______________________________________________ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users