[dpdk-users] DPDK-16.07: segfault when calling rte_eth_stats_get() from secondary process

Sruthi Yellamraju ysruthi at gmail.com
Thu Nov 3 23:48:54 CET 2016


Hi,

I am using DPDK 16.07 with fm10k. I am seeing segfaults when calling
rte_eth_stats_get() API from a secondary process.

The primary process doesnt call DPDK APIs directly and hence doesnt link
against DPDK Libraries. The primary process uses a shared library that in
turn is using DPDK APIs and links with DPDK libraries. All DPDK libraries
are built as static libraries.

The secondary process uses DPDK APIs directly and hence links against the
DPDK static libraries directly.

When i run the secondary process to get stats (something like
dpdk-procinfo) application, it segfaults (Error 14). gdb shows:
(gdb) bt
#0  0x00007fffeacd72bc in ?? ()  --> points to stats API offset in the
primary processes'  shared library
#1  0x00000000006761d7 in fm10k_update_hw_stats ()
#2  0x0000000000650dee in fm10k_stats_get ()
#3  0x000000000043803d in rte_eth_stats_get ()
#4  0x0000000000a68663 in do_get_stats (argc=<value optimized out>,
argv=0x7fffffffe478) at dpdk_status.c:225
#5  main (argc=<value optimized out>, argv=0x7fffffffe478) at
dpdk_status.c:501

Any clues on why this could be happening? I am guessing this  needs some
linker magic to get it to work. Not sure what exactly. I played with a
couple of options , but in vain.

Any pointers will be greatly appreciated.

Thanks!


More information about the users mailing list