-
Bug
-
Resolution: Unresolved
-
Medium
-
None
-
None
-
None
-
None
In startup.conf, when configuring
{{dpdk { num-rx-queues N }}}
using a value of N that is not a power of 2 will cause VPP to abort.
The following backtrace is seen with N=3:
Thread 1 "vpp_main" received signal SIGSEGV, Segmentation fault.
0x00007fffb3a44200 in ?? () from /usr/lib/x86_64-linux-gnu/vpp_plugins/dpdk_plugin.so
(gdb)
(gdb) bt
#0 0x00007fffb3a44200 in ?? () from /usr/lib/x86_64-linux-gnu/vpp_plugins/dpdk_plugin.so
#1 0x00007fffb3a44679 in ?? () from /usr/lib/x86_64-linux-gnu/vpp_plugins/dpdk_plugin.so
#2 0x00007fffb3a44f2e in ?? () from /usr/lib/x86_64-linux-gnu/vpp_plugins/dpdk_plugin.so
#3 0x00007fffb3177fb3 in rte_eth_stats_get () from /usr/lib/x86_64-linux-gnu/vpp_plugins/dpdk_plugin.so
#4 0x00007fffb427b90f in ?? () from /usr/lib/x86_64-linux-gnu/vpp_plugins/dpdk_plugin.so
#5 0x00007fffb42847f0 in ?? () from /usr/lib/x86_64-linux-gnu/vpp_plugins/dpdk_plugin.so
#6 0x00007ffff6408a4b in ?? () from /usr/lib/x86_64-linux-gnu/libvlib.so.0.0.10
#7 0x00007ffff5ea8d40 in clib_calljmp () from /usr/lib/x86_64-linux-gnu/libvppinfra.so.0.0.10
#8 0x00007fffb51c8bb0 in ?? ()
#9 0x00007ffff6408b53 in ?? () from /usr/lib/x86_64-linux-gnu/libvlib.so.0.0.10
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) frame 3
#3 0x00007fffb3177fb3 in rte_eth_stats_get () from /usr/lib/x86_64-linux-gnu/vpp_plugins/dpdk_plugin.so
Enforcing N to be a power of 2 would be good (or at least mentioning it somewhere in the documentation).