10 Star 4 Fork 33

src-openEuler / gazelle

 / 详情

【22.03 LTS SP2】【UDP】当客户端发送包长和服务端配置的包长不一致时会发生coredump

已验收
缺陷
创建于  
2023-05-18 21:22

【标题描述】当客户端发送包长大于服务端配置的包长时会发生coredump
【环境信息】
硬件信息:
1) 裸机场景提供出问题的硬件信息;
2) 虚机场景提供虚机XML文件或者配置信息
软件信息:
1) OS版本及分支
2) 内核信息
3) 发现问题的组件版本信息
两台虚拟机
[root@openEuler gazelle]# cat /etc/openEuler-latest
openeulerversion=openEuler-22.03-LTS-SP2
compiletime=2023-05-15-16-30-56
gccversion=10.3.1-27.oe2203sp2
kernelversion=-146.0.0.75.oe2203sp2
openjdkversion=1.8.0.352.b08-5.oe2203sp2
[root@openEuler gazelle]# rpm -q gazelle
gazelle-1.0.1-57.oe2203sp1.aarch64
[root@openEuler gazelle]# rpm -q dpdk
dpdk-21.11-42.oe2203sp2.aarch64

【问题复现步骤】
客户端LD_PRELOAD=/usr/lib64/liblstack.so GAZELLE_BIND_PROCNAME=example ./example -D udp -a client -i 124.88.104.76 -p 12345 -A recvfromsendto -P 513
服务端 LD_PRELOAD=/usr/lib64/liblstack.so GAZELLE_BIND_PROCNAME=example ./example -D udp -a server -i 124.88.104.76 -p 12345 -A recvfromsendto -P 512

【预期结果】
可以正常打流

【实际结果】
客户端发生coredump

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
Core was generated by `./example -D udp -a client -i 124.88.104.76 -p 12345 -A recvfromsendto -P 1024'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000ffff99b1efd4 in read_stack_data (fd=<optimized out>, buf=0xffff78029110, len=<optimized out>, flags=<optimized out>, 
    addr=0xffff90adb888, addrlen=0xffff90adb884) at core/lstack_lwip.c:1102
1102	        lwip_sock_make_addr(sock->conn, &(pbuf->addr), pbuf->port, addr, addrlen);
Missing separate debuginfos, use: dnf debuginfo-install dpdk-21.11-42.oe2203sp2.aarch64 glibc-2.34-119.oe2203sp2.aarch64 libconfig-1.7.3-3.oe2203sp2.aarch64 libgcc-10.3.1-27.oe2203sp2.aarch64 libnl3-3.7.0-1.oe2203sp2.aarch64 libpcap-1.10.3-1.oe2203sp2.aarch64 numactl-libs-2.0.16-3.oe2203sp2.aarch64 rdma-core-41.0-10.oe2203sp2.aarch64
--Type <RET> for more, q to quit, c to continue without paging--
[Current thread is 1 (Thread 0xffff90adc220 (LWP 15524))]
(gdb) info thread
  Id   Target Id                         Frame 
* 1    Thread 0xffff90adc220 (LWP 15524) 0x0000ffff99b1efd4 in read_stack_data (fd=<optimized out>, buf=0xffff78029110, 
    len=<optimized out>, flags=<optimized out>, addr=0xffff90adb888, addrlen=0xffff90adb884) at core/lstack_lwip.c:1102
  2    Thread 0xffff987de020 (LWP 15510) 0x0000ffff999f7018 in select () from /usr/lib64/libc.so.6
  3    Thread 0xffff9332c220 (LWP 15516) 0x0000ffff98dae97c in ?? () from /usr/lib64/librte_net_virtio.so.22
  4    Thread 0xffff987d6220 (LWP 15511) 0x0000ffff999fe67c in epoll_pwait () from /usr/lib64/libc.so.6
  5    Thread 0xffff92b1c220 (LWP 15517) 0x0000ffff99b27460 in vdev_rx_poll (stack=<optimized out>, pkts=<optimized out>, 
    max_mbuf=<optimized out>) at netif/lstack_vdev.c:108
  6    Thread 0xffff9536c220 (LWP 15512) 0x0000ffff999fe67c in epoll_pwait () from /usr/lib64/libc.so.6
  7    Thread 0xffff94b5c220 (LWP 15513) 0x0000ffff99a00404 in recvmsg () from /usr/lib64/libc.so.6
  8    Thread 0xffff912ec220 (LWP 15520) 0x0000ffff999fff40 in accept () from /usr/lib64/libc.so.6
  9    Thread 0xffff9230c220 (LWP 15518) 0x0000ffff999fe67c in epoll_pwait () from /usr/lib64/libc.so.6
  10   Thread 0xffff93b3c220 (LWP 15515) 0x0000ffff999fff40 in accept () from /usr/lib64/libc.so.6
  11   Thread 0xffff91afc220 (LWP 15519) 0x0000ffff999fe67c in epoll_pwait () from /usr/lib64/libc.so.6
  12   Thread 0xffff9434c220 (LWP 15514) 0x0000ffff999f0440 in read () from /usr/lib64/libc.so.6
(gdb) bt
#0  0x0000ffff99b1efd4 in read_stack_data (fd=<optimized out>, buf=0xffff78029110, len=<optimized out>, flags=<optimized out>, 
    addr=0xffff90adb888, addrlen=0xffff90adb884) at core/lstack_lwip.c:1102
#1  0x0000000000402280 in client_chkans (client_handler=0x3d1c80b0, pktlen=1024, verify=true, api=0xffffebc96207 "recvfromsendto", 
    domain=0xffffebc961dc "udp", ip=1281906812) at /root/gazelle-master/examples/src/bussiness.c:271
#2  0x0000000000402e40 in clithd_proc_epevs (client_unit=client_unit@entry=0x3d199440) at /root/gazelle-master/examples/src/client.c:273
#3  0x0000000000403140 in client_s_create_and_run (arg=0x3d199440) at /root/gazelle-master/examples/src/client.c:307
#4  0x0000ffff999983a0 in ?? () from /usr/lib64/libc.so.6
#5  0x0000ffff999fe4dc in ?? () from /usr/lib64/libc.so.6

【附件信息】
比如系统message日志/组件日志、dump信息、图片等

评论 (2)

chenshijuan3 创建了缺陷

Hi chenshijuan3, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: sig-high-performance-network, and any of the maintainers: @L.X. , @LemmyHuang , @sky , @李扬扬 , @吴昌盛 , @jinag12 , @lilijun , @李辉松 , @kircher

openeuler-ci-bot 添加了
 
sig/sig-high-perform
标签
chenshijuan3 修改了标题
chenshijuan3 修改了描述
kircher 修改了描述
kircher 通过openeuler/gazelle Pull Request !304任务状态待办的 修改为已完成
chenshijuan3 任务状态已完成 修改为已验收

在1.0.1-63验证pass

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(2)
5329419 openeuler ci bot 1632792936
1
https://gitee.com/src-openeuler/gazelle.git
git@gitee.com:src-openeuler/gazelle.git
src-openeuler
gazelle
gazelle

搜索帮助

344bd9b3 5694891 D2dac590 5694891