You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am running libos-nuse on bare metal with dpdk 1.7.1, ping works fine, but running iperf I got coredump as below, it looks rte_pktmbuf_alloc fail to allocate rte_pktmbuf, I don't know why it fail
(gdb) bt
#0 0x00007f3bead63b66 in rte_pktmbuf_lastseg (m=0x0) at /home/vincent/net-next-nuse/arch/lib/tools/dpdk/build/include/rte_mbuf.h:884
#1 0x00007f3bead63b93 in rte_pktmbuf_append (m=0x0, len=1514) at /home/vincent/net-next-nuse/arch/lib/tools/dpdk/build/include/rte_mbuf.h:975
#2 0x00007f3bead63e95 in nuse_vif_dpdk_write (vif=0x8192f0, dev=0x8ada60, data=0x7f3bc413e376 "", len=1514) at nuse-vif-dpdk.c:164
#3 0x00007f3beadd2af3 in nuse_vif_write (vif=0x8192f0, dev=0x8ada60, data=0x7f3bc413e376 "", len=1514) at nuse-vif.c:32
#4 0x00007f3beadd7cec in nuse_dev_xmit (kernel=0x0, dev=0x8ada60, data=0x7f3bc413e376 "", len=1514) at nuse.c:298
#5 0x00007f3beb0f0617 in kernel_dev_xmit (skb=0x7f3bc413e1e8, dev=0x8ada60) at arch/lib/lib-device.c:38
#6 0x00007f3beb14c258 in __netdev_start_xmit (ops=<optimized out>, more=false, dev=0x8ada60, skb=0x7f3bc413e1e8) at ./include/linux/netdevice.h:3609
#7 netdev_start_xmit (more=false, txq=0x8aaf38, dev=0x8ada60, skb=0x7f3bc413e1e8) at ./include/linux/netdevice.h:3618
#8 xmit_one (skb=skb@entry=0x7f3bc413e1e8, dev=dev@entry=0x8ada60, txq=txq@entry=0x8aaf38, more=more@entry=false) at net/core/dev.c:2687
#9 0x00007f3beb14d065 in dev_hard_start_xmit (first=first@entry=0x7f3bc413e1e8, dev=dev@entry=0x8ada60, txq=txq@entry=0x8aaf38, ret=ret@entry=0x7f3be991a730) at net/core/dev.c:2703
#10 0x00007f3beb16709e in sch_direct_xmit (skb=skb@entry=0x7f3bc413e1e8, q=q@entry=0x8b6340, dev=dev@entry=0x8ada60, txq=txq@entry=0x8aaf38, root_lock=root_lock@entry=0x8b63ec,
validate=validate@entry=true) at net/sched/sch_generic.c:165
#11 0x00007f3beb14d335 in __dev_xmit_skb (txq=0x8aaf38, dev=0x8ada60, q=0x8b6340, skb=0x7f3bc413e1e8) at net/core/dev.c:2873
#12 __dev_queue_xmit (skb=skb@entry=0x7f3bc413e1e8, accel_priv=accel_priv@entry=0x0) at net/core/dev.c:3076
#13 0x00007f3beb14d5aa in dev_queue_xmit_sk (sk=<optimized out>, skb=skb@entry=0x7f3bc413e1e8) at net/core/dev.c:3142
#14 0x00007f3beb1a0ed9 in dev_queue_xmit (skb=0x7f3bc413e1e8) at ./include/linux/netdevice.h:2186
#15 neigh_hh_output (skb=<optimized out>, hh=<optimized out>) at ./include/net/neighbour.h:467
#16 dst_neigh_output (dst=<optimized out>, skb=0x7f3bc413e1e8, n=0x7f3bc40219d8) at ./include/net/dst.h:401
#17 ip_finish_output2 (skb=<optimized out>, sk=0x0) at net/ipv4/ip_output.c:210
#18 ip_finish_output (sk=sk@entry=0x7f3bc4020d28, skb=skb@entry=0x7f3bc413e1e8) at net/ipv4/ip_output.c:284
#19 0x00007f3beb1a1efb in NF_HOOK_COND (cond=<optimized out>, okfn=0x7f3beb1a0cb0 <ip_finish_output>, out=0x8ada60, in=0x0, skb=0x7f3bc413e1e8, sk=0x7f3bc4020d28, hook=4, pf=2 '\002')
at ./include/linux/netfilter.h:233
#20 ip_output (sk=0x7f3bc4020d28, skb=0x7f3bc413e1e8) at net/ipv4/ip_output.c:356
#21 0x00007f3beb1a18f8 in ip_local_out (skb=0x7f3bc413e1e8) at ./include/net/ip.h:119
#22 ip_queue_xmit (sk=0x7f3bc4020d28, skb=0x7f3bc413e1e8, fl=0x7f3bc4021020) at net/ipv4/ip_output.c:454
#23 0x00007f3beb1b8f31 in tcp_transmit_skb (sk=sk@entry=0x7f3bc4020d28, skb=0x7f3bc413e1e8, skb@entry=0x7f3bc413e108, clone_it=clone_it@entry=1, gfp_mask=gfp_mask@entry=32)
at net/ipv4/tcp_output.c:1041
#24 0x00007f3beb1b97a0 in tcp_write_xmit (sk=0x7f3bc4020d28, mss_now=1448, nonagle=0, push_one=0, gfp=32) at net/ipv4/tcp_output.c:2139
#25 0x00007f3beb1b9c79 in __tcp_push_pending_frames (sk=sk@entry=0x7f3bc4020d28, cur_mss=<optimized out>, nonagle=nonagle@entry=0) at net/ipv4/tcp_output.c:2314
#26 0x00007f3beb1b50c7 in tcp_push_pending_frames (sk=0x7f3bc4020d28) at ./include/net/tcp.h:1543
#27 tcp_data_snd_check (sk=0x7f3bc4020d28) at net/ipv4/tcp_input.c:4883
#28 tcp_rcv_established (sk=sk@entry=0x7f3bc4020d28, skb=skb@entry=0x7f3bbc0008c8, th=0x7f3bbc0009fa, len=<optimized out>) at net/ipv4/tcp_input.c:5348
#29 0x00007f3beb1bdc0c in tcp_v4_do_rcv (sk=sk@entry=0x7f3bc4020d28, skb=skb@entry=0x7f3bbc0008c8) at net/ipv4/tcp_ipv4.c:1399
#30 0x00007f3beb1c01b0 in tcp_v4_rcv (skb=0x7f3bbc0008c8) at net/ipv4/tcp_ipv4.c:1633
#31 0x00007f3beb19b992 in ip_local_deliver_finish (sk=sk@entry=0x0, skb=skb@entry=0x7f3bbc0008c8) at net/ipv4/ip_input.c:216
#32 0x00007f3beb19bfa2 in NF_HOOK_THRESH (thresh=-2147483648, okfn=0x7f3beb19b8b0 <ip_local_deliver_finish>, out=0x0, in=<optimized out>, skb=0x7f3bbc0008c8, sk=0x0, hook=1, pf=2 '\002')
at ./include/linux/netfilter.h:220
#33 NF_HOOK (okfn=0x7f3beb19b8b0 <ip_local_deliver_finish>, out=0x0, in=<optimized out>, skb=0x7f3bbc0008c8, sk=0x0, hook=1, pf=2 '\002') at ./include/linux/netfilter.h:242
#34 ip_local_deliver (skb=0x7f3bbc0008c8) at net/ipv4/ip_input.c:256
#35 0x00007f3beb19c203 in NF_HOOK_THRESH (thresh=-2147483648, okfn=0x7f3beb19bae0 <ip_rcv_finish>, out=0x0, in=0x8ada60, skb=0x7f3bbc0008c8, sk=0x0, hook=0, pf=2 '\002')
at ./include/linux/netfilter.h:220
#36 NF_HOOK (okfn=0x7f3beb19bae0 <ip_rcv_finish>, out=0x0, in=0x8ada60, skb=0x7f3bbc0008c8, sk=0x0, hook=0, pf=2 '\002') at ./include/linux/netfilter.h:242
#37 ip_rcv (skb=<optimized out>, dev=0x8ada60, pt=<optimized out>, orig_dev=<optimized out>) at net/ipv4/ip_input.c:455
#38 0x00007f3beb14a0d3 in __netif_receive_skb_core (skb=0x7f3bbc0008c8, pfmemalloc=<optimized out>) at net/core/dev.c:3895
#39 0x00007f3beb14a944 in process_backlog (napi=0x7f3beb658e70 <softnet_data+112>, quota=64) at net/core/dev.c:4506
#40 0x00007f3beb14a78e in napi_poll (n=0x7f3beb658e70 <softnet_data+112>, repoll=repoll@entry=0x7f3be991ace0) at net/core/dev.c:4744
#41 0x00007f3beb14aa68 in net_rx_action (h=<optimized out>) at net/core/dev.c:4809
#42 0x00007f3beb0f0ef3 in do_softirq () at arch/lib/softirq.c:69
#43 0x00007f3beb0f0f58 in softirq_task_function (context=<optimized out>) at arch/lib/softirq.c:28
#44 0x00007f3beadd788f in nuse_task_start_trampoline (context=0x814250) at nuse.c:175
#45 0x00007f3bea616182 in start_thread (arg=0x7f3be991b700) at pthread_create.c:312
---Type <return> to continue, or q <return> to quit---
#46 0x00007f3bea34347d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
The text was updated successfully, but these errors were encountered:
I think at least nuse should handle rte_pktmbuf_alloc() failure by checking returned address.
for the error of mbuf alloc failure, I will investigate it (I suspect the lack of rte_pktmbuf_free may cause this issue).
I am running libos-nuse on bare metal with dpdk 1.7.1, ping works fine, but running iperf I got coredump as below, it looks rte_pktmbuf_alloc fail to allocate rte_pktmbuf, I don't know why it fail
The text was updated successfully, but these errors were encountered: