[dpdk-users] BUG: unable to handle kernel paging request

Sushil Adhikari sushil446 at gmail.com
Thu Feb 23 23:38:44 CET 2017

While trying to run dpdk Kni application I ran in to a problem, with
following error message
BUG: unable to handle kernel paging request at 000007ffe2b92780

To run the application I first unbinded the ports from kernel module and
binded them to igb_uio
>echo 0000:05:00.1 > /sys/bus/pci/drivers/ixgbe/unbind
>echo 0000:05:00.0 > /sys/bus/pci/drivers/ixgbe/unbind
>echo 0x8086 0x1528 > /sys/bus/pci/drivers/igb_uio/new_id

I ran the application using gdb as

 [~]$ /root/gdb dpdkKni
GNU gdb (crosstool-NG 1.20.0) 7.8
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-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
Find the GDB manual and other documentation resources online at:
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from dpdkKni...(no debugging symbols found)...done.
(gdb) Run dpdkKni -c 0x0f -n 4 -- -P -p 0x3 --config="(0,0,1),(1,2,3)"
Starting program: /root/dpdkKni dpdkKni -c 0x0f -n 4 -- -P -p 0x3
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
warning: Unable to find libthread_db matching inferior's thread library,
thread debugging will not be available.
EAL: Detected 4 lcore(s)
EAL: Probing VFIO support...
EAL: PCI device 0000:05:00.0 on NUMA socket -1
EAL:   probe driver: 8086:1528 net_ixgbe
EAL: PCI device 0000:05:00.1 on NUMA socket -1
EAL:   probe driver: 8086:1528 net_ixgbe
Address of pktmbuf_pool 0x7ffff5a7dec0
APP: Initialising port 0 ...
KNI: pci: 05:00:00       8086:1528
kni created for port 0 with kni[i] address 0x7fff75638280 with i 0
APP: Initialising port 1 ...
KNI: pci: 05:00:01       8086:1528
kni created for port 1 with kni[i] address 0x7fff75629e00 with i 0
APP: Lcore 1 is writing to port 0
APP: Lcore 2 is reading from port 1
APP: Lcore 3 is writing to port 1
APP: Lcore 0 is reading from port 0
Program received signal SIGINT, Interrupt.
0x000000000044e916 in rte_kni_tx_burst ()
(gdb) backtrace
#0  0x000000000044e916 in rte_kni_tx_burst ()
#1  0x0000000000619758 in main_loop(void*) ()
#2  0x0000000000431183 in rte_eal_mp_remote_launch ()
#3  0x000000000040d312 in main ()

(this is where the program crashes)

I tried to trace the crash with gdb(I am new to gdb)

and when I do the backtrace it ends up in different functions each time:
this time it gave me rte_kni_tx_burst()

I'm running latest dpdk version 17.02 and linux kernel is
Linux version 4.4.20 (tcuser at cibuild08) (gcc version 4.9.2 (crosstool-NG
1.20.0) ) #1 SMP

I would appreciate any suggestion or insight regarding this issue.

More information about the users mailing list