https://bugs.kde.org/show_bug.cgi?id=492549
--- Comment #16 from martin.lu...@ohb.de --- I ran more tests on different systems. Native Linux installation (Fedora 40) on my laptop: No issue with valgrind 3.23, g++ 14.2.1, GLIBC 2.41 Stone-age CentOS 7 inside Virtualbox: No issue with valgrind 3.15.0 and 3.17.0, g++ 4.8.5, GLIBC 2.17 CentOS 8 inside Virtualbox: Issue reproducible with valgrind 3.22, g++ 8.5.0, GLIBC 2.28 and same with valgrind 3.15 built from source See the -q outputs of valgrind below. So I conclude from this that it is an issue through all versions of valgrind, but the issue happens only on VMs and might depend on the GLIBC version. Any idea? Long shot, but between the versions above there were some changes to __memchr_sse2 such as https://github.com/bminor/glibc/commit/2f5d20ac99b9434a634629282cbb46e2a8d56a1 and https://github.com/bminor/glibc/commit/3edda6a0f013736ca9554a95e553739a41dbd4b7 AMD Ryzen 5 5500U with Radeon Graphics, Linux fedora 6.10.6-200.fc40.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Aug 19 14:09:30 UTC 2024 x86_64 GNU/Linux ==5006== Massif, a heap profiler ==5006== Copyright (C) 2003-2024, and GNU GPL'd, by Nicholas Nethercote et al. ==5006== Using Valgrind-3.23.0-c54d316124-20240426 and LibVEX; rerun with -h for copyright info ==5006== Command: ./a.out ==5006== --5006-- Valgrind options: --5006-- -v --5006-- --tool=massif --5006-- Contents of /proc/version: --5006-- Linux version 6.10.6-200.fc40.x86_64 (mockbuild@f1069ead281040288cd8d3761ad1265a) (gcc (GCC) 14.2.1 20240801 (Red Hat 14.2.1-1), GNU ld version 2.41-37.fc40) #1 SMP PREEMPT_DYNAMIC Mon Aug 19 14:09:30 UTC 2024 --5006-- --5006-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-ssse3-avx-avx2-bmi-f16c-rdrand-rdseed-fma CentOS 7 VM, i7-9700, Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux ==4171== Massif, a heap profiler ==4171== Copyright (C) 2003-2017, and GNU GPL'd, by Nicholas Nethercote ==4171== Using Valgrind-3.15.0-608cb11914-20190413 and LibVEX; rerun with -h for copyright info ==4171== Command: ./a.out ==4171== --4171-- Valgrind options: --4171-- -v --4171-- --tool=massif --4171-- Contents of /proc/version: --4171-- Linux version 3.10.0-1160.el7.x86_64 (mockbu...@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Mon Oct 19 16:18:59 UTC 2020 --4171-- --4171-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-ssse3-avx-avx2-rdrand --4171-- Page sizes: currently 4096, max supported 4096 --4171-- Valgrind library directory: /usr/libexec/valgrind --4171-- Massif: alloc-fns: --4171-- Massif: malloc --4171-- Massif: __builtin_new --4171-- Massif: operator new(unsigned) --4171-- Massif: operator new(unsigned long) --4171-- Massif: __builtin_vec_new --4171-- Massif: operator new[](unsigned) --4171-- Massif: operator new[](unsigned long) --4171-- Massif: calloc --4171-- Massif: realloc --4171-- Massif: memalign --4171-- Massif: posix_memalign --4171-- Massif: valloc --4171-- Massif: operator new(unsigned, std::nothrow_t const&) --4171-- Massif: operator new[](unsigned, std::nothrow_t const&) --4171-- Massif: operator new(unsigned long, std::nothrow_t const&) --4171-- Massif: operator new[](unsigned long, std::nothrow_t const&) --4171-- Massif: ignore-fns: --4171-- Massif: <empty> --4171-- Reading syms from /home/svf/a.out --4171-- Reading syms from /usr/lib64/ld-2.17.so --4171-- Reading syms from /usr/libexec/valgrind/massif-amd64-linux --4171-- object doesn't have a symbol table --4171-- object doesn't have a dynamic symbol table --4171-- Scheduler: using generic scheduler lock implementation. ==4171== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-4171-by-svf-on-localhost.localdomain ==4171== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-4171-by-svf-on-localhost.localdomain ==4171== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-4171-by-svf-on-localhost.localdomain ==4171== ==4171== TO CONTROL THIS PROCESS USING vgdb (which you probably ==4171== don't want to do, unless you know exactly what you're doing, ==4171== or are doing some strange experiment): ==4171== /usr/libexec/valgrind/../../bin/vgdb --pid=4171 ...command... ==4171== ==4171== TO DEBUG THIS PROCESS USING GDB: start GDB like this ==4171== /path/to/gdb ./a.out ==4171== and then give GDB the following command ==4171== target remote | /usr/libexec/valgrind/../../bin/vgdb --pid=4171 ==4171== --pid is optional if only one valgrind process is running ==4171== --4171-- Reading syms from /usr/libexec/valgrind/vgpreload_core-amd64-linux.so --4171-- Reading syms from /usr/libexec/valgrind/vgpreload_massif-amd64-linux.so --4171-- Reading syms from /usr/lib64/libstdc++.so.6.0.19 --4171-- object doesn't have a symbol table --4171-- Reading syms from /usr/lib64/libm-2.17.so --4171-- Reading syms from /usr/lib64/libgcc_s-4.8.5-20150702.so.1 --4171-- object doesn't have a symbol table --4171-- Reading syms from /usr/lib64/libc-2.17.so 0 --4171-- REDIR: 0x56d2ad0 (libc.so.6:free) redirected to 0x4c291a6 (free) ==4171== CentOS 8 VM, valgrind 3.22, g++ 8.5.0 Linux localhost.localdomain 4.18.0-539.el8.x86_64 #1 SMP Mon Feb 5 18:34:56 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux ==9575== Massif, a heap profiler ==9575== Copyright (C) 2003-2017, and GNU GPL'd, by Nicholas Nethercote ==9575== Using Valgrind-3.22.0-bd4db67b1d-20231031 and LibVEX; rerun with -h for copyright info ==9575== Command: ./a.out ==9575== --9575-- Valgrind options: --9575-- -v --9575-- --tool=massif --9575-- Contents of /proc/version: --9575-- Linux version 4.18.0-539.el8.x86_64 (mockbu...@x86-05.stream.rdu2.redhat.com) (gcc version 8.5.0 20210514 (Red Hat 8.5.0-21) (GCC)) #1 SMP Mon Feb 5 18:34:56 UTC 2024 --9575-- --9575-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-ssse3-avx-avx2-rdrand-rdseed --9575-- Page sizes: currently 4096, max supported 4096 --9575-- Valgrind library directory: /usr/libexec/valgrind --9575-- Massif: alloc-fns: --9575-- Massif: malloc --9575-- Massif: __builtin_new --9575-- Massif: operator new(unsigned) --9575-- Massif: operator new(unsigned long) --9575-- Massif: __builtin_vec_new --9575-- Massif: operator new[](unsigned) --9575-- Massif: operator new[](unsigned long) --9575-- Massif: calloc --9575-- Massif: realloc --9575-- Massif: memalign --9575-- Massif: posix_memalign --9575-- Massif: valloc --9575-- Massif: operator new(unsigned, std::nothrow_t const&) --9575-- Massif: operator new[](unsigned, std::nothrow_t const&) --9575-- Massif: operator new(unsigned long, std::nothrow_t const&) --9575-- Massif: operator new[](unsigned long, std::nothrow_t const&) --9575-- Massif: ignore-fns: --9575-- Massif: <empty> --9575-- Reading syms from /home/svf/a.out --9575-- Reading syms from /usr/lib64/ld-2.28.so --9575-- Reading syms from /usr/libexec/valgrind/massif-amd64-linux --9575-- object doesn't have a dynamic symbol table --9575-- Scheduler: using generic scheduler lock implementation. ==9575== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-9575-by-svf-on-localhost.localdomain ==9575== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-9575-by-svf-on-localhost.localdomain ==9575== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-9575-by-svf-on-localhost.localdomain ==9575== ==9575== TO CONTROL THIS PROCESS USING vgdb (which you probably ==9575== don't want to do, unless you know exactly what you're doing, ==9575== or are doing some strange experiment): ==9575== /usr/libexec/valgrind/../../bin/vgdb --pid=9575 ...command... ==9575== ==9575== TO DEBUG THIS PROCESS USING GDB: start GDB like this ==9575== /path/to/gdb ./a.out ==9575== and then give GDB the following command ==9575== target remote | /usr/libexec/valgrind/../../bin/vgdb --pid=9575 ==9575== --pid is optional if only one valgrind process is running ==9575== --9575-- Reading syms from /usr/libexec/valgrind/vgpreload_core-amd64-linux.so --9575-- Reading syms from /usr/libexec/valgrind/vgpreload_massif-amd64-linux.so --9575-- Reading syms from /usr/lib64/libstdc++.so.6.0.25 --9575-- Reading syms from /usr/lib64/libm-2.28.so --9575-- Reading syms from /usr/lib64/libgcc_s-8-20210514.so.1 --9575-- Reading syms from /usr/lib64/libc-2.28.so ==9575== Downloading debug info for /usr/lib64/libc-2.28.so... ==9575== Server query failed: No such file or directory ==9575== WARNING: new redirection conflicts with existing -- ignoring it --9575-- old: 0x0580df50 (memalign ) R-> (1011.0) 0x04c3edae memalign --9575-- new: 0x0580df50 (memalign ) R-> (1017.0) 0x04c3f537 aligned_alloc ==9575== WARNING: new redirection conflicts with existing -- ignoring it --9575-- old: 0x0580df50 (memalign ) R-> (1011.0) 0x04c3edae memalign --9575-- new: 0x0580df50 (memalign ) R-> (1017.0) 0x04c3f3cd aligned_alloc ==9575== WARNING: new redirection conflicts with existing -- ignoring it --9575-- old: 0x0580df50 (memalign ) R-> (1011.0) 0x04c3edae memalign --9575-- new: 0x0580df50 (memalign ) R-> (1017.0) 0x04c3f537 aligned_alloc ==9575== WARNING: new redirection conflicts with existing -- ignoring it --9575-- old: 0x0580df50 (memalign ) R-> (1011.0) 0x04c3edae memalign --9575-- new: 0x0580df50 (memalign ) R-> (1017.0) 0x04c3f3cd aligned_alloc ==9575== WARNING: new redirection conflicts with existing -- ignoring it --9575-- old: 0x0580df50 (memalign ) R-> (1011.0) 0x04c3edae memalign --9575-- new: 0x0580df50 (memalign ) R-> (1017.0) 0x04c3f537 aligned_alloc ==9575== WARNING: new redirection conflicts with existing -- ignoring it --9575-- old: 0x0580df50 (memalign ) R-> (1011.0) 0x04c3edae memalign --9575-- new: 0x0580df50 (memalign ) R-> (1017.0) 0x04c3f3cd aligned_alloc --9575-- REDIR: 0x580d1e0 (libc.so.6:malloc) redirected to 0x4c3711f (malloc) ==9575== Downloading debug info for /usr/lib64/libstdc++.so.6.0.25... ==9575== Server query failed: No such file or directory --9575-- Warning: cross-CU LIMITATION: some inlined fn names --9575-- might be shown as UnknownInlinedFun ==9575== Downloading debug info for /home/svf/a.out... ==9575== Server query failed: No such file or directory 0x1ffefff43e --9575-- REDIR: 0x580d870 (libc.so.6:free) redirected to 0x4c3a469 (free) ==9575== -- You are receiving this mail because: You are watching all bug changes.