[dts] DTS with pktgen crashes

Dan Shimshoni danshimsh at gmail.com
Thu Feb 1 11:55:54 CET 2018


Hello,
I am trying to run L2FW DTS with pktgen on
DELL R720 server, and I get "Illegal instruction".
I tried to find the root cause of the problem, and it seems related to
the pktgen binary, to something related to a CPU flag (RTE_CPUFLAG_RTM flag
(Transactional memory).

I cloned the latest DTS repo, and extracted pktgen
from it (it is in the dep/tgen.tgz tar file).
My first question is: is this binary created from the
official pktgen tree ? (in case it is, which version of pktgen is it?) or
is it after applying some patches? (the
reason for this question will be clear soon).

Second: when I try to run it as stand alone and look at the core dump, I
see the
following:

./pktgen

Illegal instruction (core dumped)

gdb ./pktgen core
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.3) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html
>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./pktgen...done.
[New LWP 6639]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
---Type <return> to continue, or q <return> to quit---
Core was generated by `./pktgen'.
Program terminated with signal SIGILL, Illegal instruction.
#0  0x000000000043417d in rte_cpu_get_flag_enabled (feature=6217008,
    feature at entry=RTE_CPUFLAG_RTM)
    at /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_cpuflags.h:303
303     /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_cpuflags.h: No
such file or directory.
(gdb) bt
#0  0x000000000043417d in rte_cpu_get_flag_enabled (feature=6217008,
    feature at entry=RTE_CPUFLAG_RTM)
    at /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_cpuflags.h:303
#1  0x00000000004341ae in rte_rtm_init ()
    at /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_spinlock.h:103
#2  0x00000000005d451d in __libc_csu_init ()
#3  0x00007fe2fda1aed5 in __libc_start_main (main=0x433400 <main>,
    argc=1, argv=0x7ffd0c6a5868, init=0x5d44d0 <__libc_csu_init>,
    fini=<optimized out>, rtld_fini=<optimized out>,
    stack_end=0x7ffd0c6a5858) at libc-start.c:246
#4  0x0000000000435385 in _start ()
(gdb)


- and I get the same issue of "illegal instruction" and the same results
also with older
official DTS releases, like
https://dpdk.org/browse/tools/dts/snapshot/dts-17.11.tar.xz
and https://dpdk.org/browse/tools/dts/snapshot/dts-17.05.tar.xz

Regards,
Dan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://dpdk.org/ml/archives/dts/attachments/20180201/e6f260bd/attachment.html>


More information about the dts mailing list