valgrind exits with an error when using mmap (mmap mdev device)
骤变成玄武 via Valgrind-users <[email protected]> Wed, 15 Mar 2023 09:22:38 +0800
| Newsgroups | gmane.comp.debugging.valgrind |
|---|---|
| Message-ID | <[email protected]> |
1 version:
valgrind-3.20.0
4.19.25-200.el7.bclinux.x86_64
gcc version 4.8.5 20150623 (Red Hat 4.8.5-36)
2 Problem description:
-- source code: mmap a mdev device
static int test_mmap_bar(void)
{
const char *path="/sys/class/mdev_bus/0000:06:00.0/resource4";
...
flags = O_RDWR;
prot = PROT_READ | PROT_WRITE;
unsigned long len = 4096;
unsigned long offset = 0x320000;
fd = open(path, flags | O_SYNC);
if (fd < 0) {
printf("[ERROR] open device err\n");
return -1;
}
addr = mmap(0, len, prot, MAP_SHARED, fd, offset);
if (addr == P_FAILED) {
printf("[ERROR] mmap faild\n");
}
...
}
--run with valgrind :
valgrind --leak-check=full --show-leak-kinds=all -v --log-file=valgrind.log ./build/valgrind-test --base-virtaddr=0x4000000000
-- The valgrind log reported the following error with mmap:
valgrind: m_debuginfo/image.c:587 (set_CEnt): Assertion '! sr_isError(sr)' failed.
--strace valgrind:
open("/sys/class/mdev_bus/0000:06:00.0/resource4", O_RDWR|O_SYNC) = 94 rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP BUS FPE KILL SEGV STOP SYS], NULL, 8) = 0
gettid() = 13758
read(1028, "Y", 1) = 1
mmap(0x4033000, 4096, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, 94, 0x320000) = 0x4033000
syscall_332(0x5e, 0x58246543, 0x1000, 0xfff, 0x1003633aa0, 0) = 0
readlink("/proc/self/fd/94", "/sys/devices/pci0000:00/0000:00:"..., 4096) = 59
syscall_332(0xffffffffffffff9c, 0x597789da, 0, 0xfff, 0x10036346d0, 0) = 0
syscall_332(0x5e, 0x58246543, 0x1000, 0xfff, 0x1003634560, 0) = 0
pread64(94, 0x100299acd0, 8192, 0) = -1 EIO (Input/output error)
valgrind will do pread64 after mmap ??
4 run directly:
-- There is no problem with mmap
-- use pread64(..) will cause io error
5 Quesions:
How can I use valgrind in this case
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users
valgrind.log
(application/octet-stream, 23.5 KB)
==24198== Memcheck, a memory error detector ==24198== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. ==24198== Using Valgrind-3.20.0-5147d671e4-20221024 and LibVEX; rerun with -h for copyright info ==24198== Command: ./build/valgrind-test --base-virtaddr=0x4000000000 ==24198== Parent PID: 20514 ==24198== --24198-- --24198-- Valgrind options: --24198-- --leak-check=full --24198-- --show-leak-kinds=all --24198-- -v --24198-- --log-file=valgrind.log --24198-- --gen-suppressions=yes --24198-- --trace-children=yes --24198-- Contents of /proc/version: --24198-- Linux version 4.19.25-200.el7.bclinux.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)) #1 SMP Wed May 29 00:02:44 CST 2019 --24198-- --24198-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-ssse3-avx-avx2-bmi-f16c-rdrand-rdseed --24198-- Page sizes: currently 4096, max supported 4096 --24198-- Valgrind library directory: /home/zhouyiming/TEST/valgrind-build/libexec/valgrind --24198-- Reading syms from /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test --24198-- Reading syms from /usr/lib64/ld-2.17.so --24198-- Reading syms from /home/zhouyiming/TEST/valgrind-build/libexec/valgrind/memcheck-amd64-linux --24198-- object doesn't have a dynamic symbol table --24198-- Scheduler: using generic scheduler lock implementation. --24198-- Reading suppressions file: /home/zhouyiming/TEST/valgrind-build/libexec/valgrind/default.supp ==24198== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-24198-by-root-on-rock8-soc ==24198== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-24198-by-root-on-rock8-soc ==24198== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-24198-by-root-on-rock8-soc ==24198== ==24198== TO CONTROL THIS PROCESS USING vgdb (which you probably ==24198== don't want to do, unless you know exactly what you're doing, ==24198== or are doing some strange experiment): ==24198== /home/zhouyiming/TEST/valgrind-build/libexec/valgrind/../../bin/vgdb --pid=24198 ...command... ==24198== ==24198== TO DEBUG THIS PROCESS USING GDB: start GDB like this ==24198== /path/to/gdb ./build/valgrind-test ==24198== and then give GDB the following command ==24198== target remote | /home/zhouyiming/TEST/valgrind-build/libexec/valgrind/../../bin/vgdb --pid=24198 ==24198== --pid is optional if only one valgrind process is running ==24198== --24198-- REDIR: 0x4019d60 (ld-linux-x86-64.so.2:strlen) redirected to 0x580cc9e5 (vgPlain_amd64_linux_REDIR_FOR_strlen) --24198-- REDIR: 0x4019b30 (ld-linux-x86-64.so.2:index) redirected to 0x580cc9ff (vgPlain_amd64_linux_REDIR_FOR_index) --24198-- Reading syms from /home/zhouyiming/TEST/valgrind-build/libexec/valgrind/vgpreload_core-amd64-linux.so --24198-- Reading syms from /home/zhouyiming/TEST/valgrind-build/libexec/valgrind/vgpreload_memcheck-amd64-linux.so ==24198== WARNING: new redirection conflicts with existing -- ignoring it --24198-- old: 0x04019d60 (strlen ) R-> (0000.0) 0x580cc9e5 vgPlain_amd64_linux_REDIR_FOR_strlen --24198-- new: 0x04019d60 (strlen ) R-> (2007.0) 0x04c30ab0 strlen --24198-- REDIR: 0x4019ce0 (ld-linux-x86-64.so.2:strcmp) redirected to 0x4c31ca0 (strcmp) --24198-- REDIR: 0x401a9a0 (ld-linux-x86-64.so.2:mempcpy) redirected to 0x4c35d30 (mempcpy) --24198-- Reading syms from /usr/lib64/libfdt-1.4.6.so --24198-- object doesn't have a symbol table --24198-- Reading syms from /usr/lib64/librt-2.17.so --24198-- Reading syms from /usr/lib64/libm-2.17.so --24198-- Reading syms from /usr/lib64/libnuma.so.1 --24198-- object doesn't have a symbol table --24198-- Reading syms from /usr/lib64/libdl-2.17.so --24198-- Reading syms from /usr/lib64/libpthread-2.17.so --24198-- Reading syms from /usr/lib64/libc-2.17.so ==24198== WARNING: new redirection conflicts with existing -- ignoring it --24198-- old: 0x05bffc30 (memalign ) R-> (1011.0) 0x04c2fd82 memalign --24198-- new: 0x05bffc30 (memalign ) R-> (1017.0) 0x04c2fd52 aligned_alloc ==24198== WARNING: new redirection conflicts with existing -- ignoring it --24198-- old: 0x05bffc30 (memalign ) R-> (1011.0) 0x04c2fd82 memalign --24198-- new: 0x05bffc30 (memalign ) R-> (1017.0) 0x04c2fd25 aligned_alloc --24198-- Reading syms from /usr/lib64/libgcc_s-4.8.5-20150702.so.1 --24198-- object doesn't have a symbol table --24198-- REDIR: 0x5c09910 (libc.so.6:strcasecmp) redirected to 0x4a2472f (_vgnU_ifunc_wrapper) --24198-- REDIR: 0x5c06690 (libc.so.6:strnlen) redirected to 0x4a2472f (_vgnU_ifunc_wrapper) --24198-- REDIR: 0x5c0bbe0 (libc.so.6:strncasecmp) redirected to 0x4a2472f (_vgnU_ifunc_wrapper) --24198-- REDIR: 0x5c090f0 (libc.so.6:memset) redirected to 0x4a2472f (_vgnU_ifunc_wrapper) --24198-- REDIR: 0x5c090a0 (libc.so.6:memcpy@GLIBC_2.2.5) redirected to 0x4a2472f (_vgnU_ifunc_wrapper) --24198-- REDIR: 0x5c065b0 (libc.so.6:__GI_strlen) redirected to 0x4c30a10 (__GI_strlen) --24198-- REDIR: 0x5c08080 (libc.so.6:__GI_strrchr) redirected to 0x4c30470 (__GI_strrchr) --24198-- REDIR: 0x5bff370 (libc.so.6:malloc) redirected to 0x4c2b0a0 (malloc) --24198-- REDIR: 0x5c1f100 (libc.so.6:__GI_strstr) redirected to 0x4c35fc0 (__strstr_sse2) --24198-- REDIR: 0x5c08780 (libc.so.6:memchr) redirected to 0x4c31d40 (memchr) --24198-- REDIR: 0x5c0e320 (libc.so.6:__GI_memcpy) redirected to 0x4c32950 (__GI_memcpy) --24198-- REDIR: 0x5bff870 (libc.so.6:realloc) redirected to 0x4c2fa0b (realloc) --24198-- REDIR: 0x5bff790 (libc.so.6:free) redirected to 0x4c2d626 (free) --24198-- REDIR: 0x5bffd90 (libc.so.6:calloc) redirected to 0x4c2f7ee (calloc) --24198-- REDIR: 0x5c08f10 (libc.so.6:__GI_memmove) redirected to 0x4c350c0 (__GI_memmove) --24198-- REDIR: 0x5c0fba0 (libc.so.6:strchrnul) redirected to 0x4c35850 (strchrnul) --24198-- REDIR: 0x5c092c0 (libc.so.6:__GI_mempcpy) redirected to 0x4c35a60 (__GI_mempcpy) --24198-- REDIR: 0x5c201d0 (libc.so.6:strcasestr) redirected to 0x4a2472f (_vgnU_ifunc_wrapper) --24198-- REDIR: 0x5cbe330 (libc.so.6:__strcasestr_sse42) redirected to 0x4c36290 (strcasestr) --24198-- REDIR: 0x5c1f6c0 (libc.so.6:strstr) redirected to 0x4a2472f (_vgnU_ifunc_wrapper) --24198-- REDIR: 0x5cba140 (libc.so.6:__strstr_sse42) redirected to 0x4c36050 (__strstr_sse42) --24198-- REDIR: 0x5c08040 (libc.so.6:rindex) redirected to 0x4a2472f (_vgnU_ifunc_wrapper) --24198-- REDIR: 0x5cb9fa0 (libc.so.6:__strrchr_sse42) redirected to 0x4c30500 (__strrchr_sse42) --24198-- REDIR: 0x5c06770 (libc.so.6:strncmp) redirected to 0x4a2472f (_vgnU_ifunc_wrapper) --24198-- REDIR: 0x5cb8fc0 (libc.so.6:__strncmp_sse42) redirected to 0x4c312e0 (__strncmp_sse42) --24198-- REDIR: 0x5c04b10 (libc.so.6:strcmp) redirected to 0x4a2472f (_vgnU_ifunc_wrapper) --24198-- REDIR: 0x5cb8210 (libc.so.6:__strcmp_sse42) redirected to 0x4c31c50 (__strcmp_sse42) --24198-- REDIR: 0x5c06560 (libc.so.6:strlen) redirected to 0x4a2472f (_vgnU_ifunc_wrapper) --24198-- REDIR: 0x5cc0190 (libc.so.6:__strlen_sse42) redirected to 0x4c30a70 (__strlen_sse42) --24198-- REDIR: 0x5c067b0 (libc.so.6:__GI_strncmp) redirected to 0x4c31200 (__GI_strncmp) --24198-- REDIR: 0x5c09150 (libc.so.6:__GI_memset) redirected to 0x4c34c80 (memset) --24198-- REDIR: 0x5c0e2b0 (libc.so.6:memcpy@@GLIBC_2.14) redirected to 0x4a2472f (_vgnU_ifunc_wrapper) --24198-- REDIR: 0x5cc5fa0 (libc.so.6:__memcpy_ssse3) redirected to 0x4c32150 (memcpy@@GLIBC_2.14) --24198-- REDIR: 0x5c066c0 (libc.so.6:__GI_strnlen) redirected to 0x4c309c0 (__GI_strnlen) ==24198== Warning: noted but unhandled ioctl 0x3b64 with no size/direction hints. ==24198== This could cause spurious value errors to appear. ==24198== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. ==24198== Warning: noted but unhandled ioctl 0x3b65 with no size/direction hints. ==24198== This could cause spurious value errors to appear. ==24198== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. --24198-- REDIR: 0x5c04a50 (libc.so.6:index) redirected to 0x4a2472f (_vgnU_ifunc_wrapper) --24198-- REDIR: 0x5cb8160 (libc.so.6:__strchr_sse42) redirected to 0x4c30660 (index) ==24198== Warning: noted but unhandled ioctl 0x3b67 with no size/direction hints. ==24198== This could cause spurious value errors to appear. ==24198== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. ==24198== Warning: noted but unhandled ioctl 0x3b68 with no size/direction hints. ==24198== This could cause spurious value errors to appear. ==24198== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. ==24198== Warning: noted but unhandled ioctl 0x3b6a with no size/direction hints. ==24198== This could cause spurious value errors to appear. ==24198== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. --24198-- REDIR: 0x5c097b0 (libc.so.6:__GI_stpcpy) redirected to 0x4c345f0 (__GI_stpcpy) --24198-- REDIR: 0x5c0f990 (libc.so.6:__GI___rawmemchr) redirected to 0x4c358b0 (__GI___rawmemchr) ==24198== Warning: set address range perms: large range [0x4040000000, 0x4880000000) (defined) ==24198== Warning: set address range perms: large range [0x4840000000, 0x4880000000) (noaccess) ==24198== Warning: set address range perms: large range [0x4880000000, 0x50c0000000) (defined) ==24198== Warning: set address range perms: large range [0x5080000000, 0x50c0000000) (noaccess) ==24198== Warning: set address range perms: large range [0x50c0000000, 0x5900000000) (defined) ==24198== Warning: set address range perms: large range [0x58c0000000, 0x5900000000) (noaccess) ==24198== Warning: set address range perms: large range [0x5900000000, 0x6140000000) (defined) ==24198== Warning: set address range perms: large range [0x6100000000, 0x6140000000) (noaccess) --24198-- REDIR: 0x5ccb340 (libc.so.6:__memmove_ssse3) redirected to 0x4c31e00 (memcpy@GLIBC_2.2.5) ==24198== Warning: set address range perms: large range [0x4040000000, 0x4080000000) (defined) --24198-- REDIR: 0xffffffffff600000 (???:???) redirected to 0x580cc9c7 (vgPlain_amd64_linux_REDIR_FOR_vgettimeofday) --24198-- REDIR: 0xffffffffff600400 (???:???) redirected to 0x580cc9d1 (vgPlain_amd64_linux_REDIR_FOR_vtime) --24198-- REDIR: 0x5c08b10 (libc.so.6:__GI_memcmp) redirected to 0x4c341f0 (__GI_memcmp) ==24198== Warning: noted but unhandled ioctl 0x3b66 with no size/direction hints. ==24198== This could cause spurious value errors to appear. ==24198== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. ==24198== Warning: noted but unhandled ioctl 0x3b71 with no size/direction hints. ==24198== This could cause spurious value errors to appear. ==24198== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. ==24198== Warning: noted but unhandled ioctl 0x3b6b with no size/direction hints. ==24198== This could cause spurious value errors to appear. ==24198== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. ==24198== Warning: noted but unhandled ioctl 0x3b6c with no size/direction hints. ==24198== This could cause spurious value errors to appear. ==24198== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. ==24198== Warning: noted but unhandled ioctl 0x3b6d with no size/direction hints. ==24198== This could cause spurious value errors to appear. ==24198== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper. ==24198== Warning: invalid file descriptor -1 in syscall close() ==24198== at 0x596C75D: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x68191A: pci_vfio_unmap_resource_primary (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0xA18469: vtpci_init (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0xA2F587: eth_virtio_dev_init (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0xA2F793: eth_virtio_pci_probe (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x68464E: pci_probe_all_drivers (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x6847CB: rte_pci_probe (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x6532EB: rte_bus_probe (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x63FD5A: rte_eal_init (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x55A2E8: main (test.c:126) ==24198== Warning: invalid file descriptor -1 in syscall close() ==24198== at 0x596C75D: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x68191A: pci_vfio_unmap_resource_primary (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0xA18469: vtpci_init (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0xA2F587: eth_virtio_dev_init (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0xA2F793: eth_virtio_pci_probe (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x68464E: pci_probe_all_drivers (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x6847CB: rte_pci_probe (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x6532EB: rte_bus_probe (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x63FD5A: rte_eal_init (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x55A2E8: main (test.c:126) valgrind: m_debuginfo/image.c:587 (set_CEnt): Assertion '!sr_isError(sr)' failed. host stacktrace: ==24198== at 0x5804DC33: show_sched_status_wrk (m_libcassert.c:406) ==24198== by 0x5804DD47: report_and_quit (m_libcassert.c:477) ==24198== by 0x5804DEE1: vgPlain_assert_fail (m_libcassert.c:543) ==24198== by 0x580D3A9A: set_CEnt (image.c:587) ==24198== by 0x580D3E06: vgModuleLocal_img_from_fd (image.c:914) ==24198== by 0x5809008B: vgModuleLocal_check_elf_and_get_rw_loads (readelf.c:3665) ==24198== by 0x5807D1E7: vgPlain_di_notify_mmap (debuginfo.c:1353) ==24198== by 0x580B02A8: vgModuleLocal_generic_PRE_sys_mmap (syswrap-generic.c:2467) ==24198== by 0x580BBEAA: vgSysWrap_amd64_linux_sys_mmap_before (syswrap-amd64-linux.c:413) ==24198== by 0x580AAF3C: vgPlain_client_syscall (syswrap-main.c:2239) ==24198== by 0x580A6DFA: handle_syscall (scheduler.c:1211) ==24198== by 0x580A92E6: vgPlain_scheduler (scheduler.c:1529) ==24198== by 0x58101FC6: thread_wrapper (syswrap-linux.c:102) ==24198== by 0x58101FC6: run_a_thread_NORETURN (syswrap-linux.c:155) sched status: running_tid=1 Thread 1: status = VgTs_Runnable syscall 9 (lwpid 24198) ==24198== at 0x5C7257A: mmap (in /usr/lib64/libc-2.17.so) ==24198== by 0x55A464: test_mmap_bar (test.c:107) ==24198== by 0x55A464: main (test.c:161) client stack range: [0x1FFEFF3000 0x1FFF000FFF] client SP: 0x1FFF0001E8 valgrind stack range: [0x1003535000 0x1003634FFF] top usage: 7456 of 1048576 Thread 2: status = VgTs_WaitSys syscall 232 (lwpid 24199) ==24198== at 0x5C78693: ??? (in /usr/lib64/libc-2.17.so) ==24198== by 0x64AD0B: eal_intr_thread_main (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0x655E000 0x6D5BFFF] client SP: 0x6D5B690 valgrind stack range: [0x1003B05000 0x1003C04FFF] top usage: 3448 of 1048576 Thread 3: status = VgTs_WaitSys syscall 47 (lwpid 24200) ==24198== at 0x596CB4D: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x658B7D: mp_handle (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0x6D5F000 0x755CFFF] client SP: 0x755C350 valgrind stack range: [0x1005C63000 0x1005D62FFF] top usage: 3320 of 1048576 Thread 4: status = VgTs_WaitSys syscall 0 (lwpid 24202) ==24198== at 0x596C6FD: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x6446C9: eal_thread_loop (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0x7960000 0x815DFFF] client SP: 0x815D600 valgrind stack range: [0x1010567000 0x1010666FFF] top usage: 3296 of 1048576 Thread 5: status = VgTs_WaitSys syscall 0 (lwpid 24203) ==24198== at 0x596C6FD: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x6446C9: eal_thread_loop (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0x8161000 0x895EFFF] client SP: 0x895E600 valgrind stack range: [0x101066B000 0x101076AFFF] top usage: 3176 of 1048576 Thread 6: status = VgTs_WaitSys syscall 0 (lwpid 24204) ==24198== at 0x596C6FD: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x6446C9: eal_thread_loop (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0x8962000 0x915FFFF] client SP: 0x915F600 valgrind stack range: [0x101076F000 0x101086EFFF] top usage: 3176 of 1048576 Thread 7: status = VgTs_WaitSys syscall 0 (lwpid 24205) ==24198== at 0x596C6FD: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x6446C9: eal_thread_loop (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0x9163000 0x9960FFF] client SP: 0x9960600 valgrind stack range: [0x1010873000 0x1010972FFF] top usage: 3176 of 1048576 Thread 8: status = VgTs_WaitSys syscall 0 (lwpid 24206) ==24198== at 0x596C6FD: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x6446C9: eal_thread_loop (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0x9964000 0xA161FFF] client SP: 0xA161600 valgrind stack range: [0x1010977000 0x1010A76FFF] top usage: 3368 of 1048576 Thread 9: status = VgTs_WaitSys syscall 0 (lwpid 24207) ==24198== at 0x596C6FD: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x6446C9: eal_thread_loop (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0xA165000 0xA962FFF] client SP: 0xA962600 valgrind stack range: [0x1010A7B000 0x1010B7AFFF] top usage: 3176 of 1048576 Thread 10: status = VgTs_WaitSys syscall 0 (lwpid 24208) ==24198== at 0x596C6FD: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x6446C9: eal_thread_loop (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0xA966000 0xB163FFF] client SP: 0xB163600 valgrind stack range: [0x1010B7F000 0x1010C7EFFF] top usage: 3176 of 1048576 Thread 11: status = VgTs_WaitSys syscall 0 (lwpid 24209) ==24198== at 0x596C6FD: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x6446C9: eal_thread_loop (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0xB167000 0xB964FFF] client SP: 0xB964600 valgrind stack range: [0x1010C83000 0x1010D82FFF] top usage: 3176 of 1048576 Thread 12: status = VgTs_WaitSys syscall 0 (lwpid 24210) ==24198== at 0x596C6FD: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x6446C9: eal_thread_loop (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0xB968000 0xC165FFF] client SP: 0xC165600 valgrind stack range: [0x1010D87000 0x1010E86FFF] top usage: 3176 of 1048576 Thread 13: status = VgTs_WaitSys syscall 0 (lwpid 24211) ==24198== at 0x596C6FD: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x6446C9: eal_thread_loop (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0xC169000 0xC966FFF] client SP: 0xC966600 valgrind stack range: [0x1010E8B000 0x1010F8AFFF] top usage: 3176 of 1048576 Thread 14: status = VgTs_WaitSys syscall 0 (lwpid 24212) ==24198== at 0x596C6FD: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x6446C9: eal_thread_loop (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0xC96A000 0xD167FFF] client SP: 0xD167600 valgrind stack range: [0x1010F8F000 0x101108EFFF] top usage: 3176 of 1048576 Thread 15: status = VgTs_WaitSys syscall 0 (lwpid 24213) ==24198== at 0x596C6FD: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x6446C9: eal_thread_loop (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0xD16B000 0xD968FFF] client SP: 0xD968600 valgrind stack range: [0x1011093000 0x1011192FFF] top usage: 3176 of 1048576 Thread 16: status = VgTs_WaitSys syscall 0 (lwpid 24214) ==24198== at 0x596C6FD: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x6446C9: eal_thread_loop (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0xD96C000 0xE169FFF] client SP: 0xE169600 valgrind stack range: [0x1011197000 0x1011296FFF] top usage: 3176 of 1048576 Thread 17: status = VgTs_WaitSys syscall 0 (lwpid 24215) ==24198== at 0x596C6FD: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x6446C9: eal_thread_loop (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0xE16D000 0xE96AFFF] client SP: 0xE96A600 valgrind stack range: [0x101129B000 0x101139AFFF] top usage: 3176 of 1048576 Thread 18: status = VgTs_WaitSys syscall 0 (lwpid 24216) ==24198== at 0x596C6FD: ??? (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x6446C9: eal_thread_loop (in /home/zhouyiming/TEST/DPDK_TEST/build/valgrind-test) ==24198== by 0x5965DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==24198== by 0x5C780BC: clone (in /usr/lib64/libc-2.17.so) client stack range: [0xE96E000 0xF16BFFF] client SP: 0xF16B600 valgrind stack range: [0x101139F000 0x101149EFFF] top usage: 3176 of 1048576 Note: see also the FAQ in the source distribution. It contains workarounds to several common problems. In particular, if Valgrind aborted or crashed after identifying problems in your program, there's a good chance that fixing those problems will prevent Valgrind aborting or crashing, especially if it happened in m_mallocfree.c. If that doesn't help, please report this bug to: www.valgrind.org In the bug report, send all the above text, the valgrind version, and what OS and version you are using. Thanks.