bluca / valgrind-dpdk

Valgrind patched with support for DPDK (and rte_*alloc). STATICALLY LINKED: use --soname-synonyms=somalloc=NONE - DINAMICALLY LINKED: SONAME must be either lib*dpdk.so* librte_malloc.so*. NOTE: memory alignment is respected and implemented, but NUMA socket is ignored.
GNU General Public License v2.0
25 stars 3 forks source link

Valgrind with DPDK - Error in "EAL: Segment sanity check failed" #2

Open sreenaath-telsiz opened 6 years ago

sreenaath-telsiz commented 6 years ago

Hi I am trying to run DPDK 2.2 example application "l2fwd" with valgrind and run in to the "Segment Sanity check failed" error. I tried with standard valgrind-3.10 and ran in to "Segment sanity check failed" error. I then stumbled across your modified version of valgrind and tried from this repo, but ran in to the same issue. Following is the error.

Any suggestions on how to fix this?

Following is the error log

~# valgrind /home/user/l2fwd -c 0x00ffffff -n 2 -- -q 10 -p 0xffffffff

==2002== Memcheck, a memory error detector

==2002== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.

==2002== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info

==2002== Command: /home/admin/l2fwd -c 0x00ffffff -n 2 -- -q 10 -p 0xffffffff

==2002==

==2002== Warning: set address range perms: large range [0x82f000, 0x20bb5000) (defined)

EAL: Detected lcore 0 as core 0 on socket 0

EAL: Detected lcore 1 as core 1 on socket 0

EAL: Detected lcore 2 as core 2 on socket 0

EAL: Detected lcore 3 as core 3 on socket 0

EAL: Detected lcore 4 as core 4 on socket 0

EAL: Detected lcore 5 as core 5 on socket 0

EAL: Detected lcore 6 as core 6 on socket 0

EAL: Detected lcore 7 as core 8 on socket 0

EAL: Detected lcore 8 as core 9 on socket 0

EAL: Detected lcore 9 as core 10 on socket 0

EAL: Detected lcore 10 as core 11 on socket 0

EAL: Detected lcore 11 as core 12 on socket 0

EAL: Detected lcore 12 as core 13 on socket 0

EAL: Detected lcore 13 as core 14 on socket 0

EAL: Detected lcore 14 as core 0 on socket 0

EAL: Detected lcore 15 as core 1 on socket 0

EAL: Detected lcore 16 as core 2 on socket 0

EAL: Detected lcore 17 as core 3 on socket 0

EAL: Detected lcore 18 as core 4 on socket 0

EAL: Detected lcore 19 as core 5 on socket 0

EAL: Detected lcore 20 as core 6 on socket 0

EAL: Detected lcore 21 as core 8 on socket 0

EAL: Detected lcore 22 as core 9 on socket 0

EAL: Detected lcore 23 as core 10 on socket 0

EAL: Detected lcore 24 as core 11 on socket 0

EAL: Detected lcore 25 as core 12 on socket 0

EAL: Detected lcore 26 as core 13 on socket 0

EAL: Detected lcore 27 as core 14 on socket 0

EAL: Support maximum 128 logical core(s) by configuration.

EAL: Detected 28 lcore(s)

EAL: VFIO modules not all loaded, skip VFIO support…

EAL: Searching for IVSHMEM devices...

EAL: No IVSHMEM configuration found!

EAL: Setting up physically contiguous memory...

EAL: cannot open /proc/self/numa_maps, consider that all memory is in socket_id 0

==2002== Source and destination overlap in memcpy(0x21d1c710, 0x21d1c710, 4144)

==2002== at 0x215C2FAE: memcpy@@GLIBC_2.14 (vg_replace_strmem.c:1022)

==2002== by 0x49CE01: sort_by_physaddr.isra.3 (eal_memory.c:747)

==2002== by 0x49D9A0: rte_eal_hugepage_init (eal_memory.c:1198)

==2002== by 0x4A92E7: rte_eal_memory_init (eal_common_memory.c:145)

==2002== by 0x49B6F4: rte_eal_init (eal.c:793)

==2002== by 0x42A98E: main (main.c:550)

==2002==

EAL: Ask a virtual area of 0x200000 bytes

EAL: Virtual area found at 0x22200000 (size = 0x200000)

EAL: Ask a virtual area of 0x4400000 bytes

EAL: Virtual area found at 0x22400000 (size = 0x4400000)

EAL: Segment sanity check failed: wrong physaddr at 0x22600000 (offset 0x200000: 0x0 (expected 0x200000)

EAL: Failed to remap 2 MB pages

PANIC in rte_eal_init():

Cannot init memory

6: [/home/admin/l2fwd() [0x42c658]]

5: [/lib/libc.so.6(__libc_start_main+0x10f) [0x3bb8e21b5f]]

4: [/home/admin/l2fwd(main+0x1f) [0x42a98f]]

3: [/home/admin/l2fwd(rte_eal_init+0xea7) [0x49bd87]]

2: [/home/admin/l2fwd(__rte_panic+0xc2) [0x425348]]

1: [/home/admin/l2fwd(rte_dump_stack+0x23) [0x4a2933]]

==2002==

==2002== Process terminating with default action of signal 6 (SIGABRT)

==2002== at 0x3BB8E3512B: raise (raise.c:56)

==2002== by 0x3BB8E3823E: abort (abort.c:89)

==2002== by 0x42534C: __rte_panic (eal_debug.c:89)

==2002== by 0x49BD86: rte_eal_init (eal.c:794)

==2002== by 0x42A98E: main (main.c:550)

==2002==

==2002== HEAP SUMMARY:

==2002== in use at exit: 296 bytes in 3 blocks

==2002== total heap usage: 845 allocs, 842 frees, 811,613 bytes allocated

==2002==

==2002==

==2002== LEAK SUMMARY:

==2002== definitely lost: 0 bytes in 0 blocks

==2002== indirectly lost: 0 bytes in 0 blocks

==2002== possibly lost: 0 bytes in 0 blocks

==2002== still reachable: 296 bytes in 3 blocks

==2002== suppressed: 0 bytes in 0 blocks

==2002== Rerun with --leak-check=full to see details of leaked memory

==2002==

==2002== For counts of detected and suppressed errors, rerun with: -v

==2002== ERROR SUMMARY: 19 errors from 1 contexts (suppressed: 0 from 0)

Aborted (core dumped)