项目

一般

简介

错误 #4338

3.1.3的版本包退出时出现cu coredump在sctp connect_peer

李 玮璇大约 2 个月 之前添加. 更新于 大约 2 个月 之前.

状态:
转测试
优先级:
指派给:
开始日期:
2025-10-29
计划完成日期:
% 完成:

0%

预期时间:
问题归属:
CU
发现问题版本:
Rel_3.1.3
目标解决问题版本:
Rel_3.1.3

描述

(gdb) bt
#0 0x0000007fa4c38e04 in _run_exit_handlers (status=status@entry=0, listp=0x7fa4d6f5c8 <_exit_funcs>,
run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:77
#1 (closed) 0x0000007fa4c38f9c in _GI_exit (status=status@entry=0) at exit.c:139
#2 (closed) 0x0000000000c1edb8 in gnb::app_cntrl::exception_handler::on_sigterm (signal=)
at /home/yl/cu/nr_hl_cu/cu/nr_hl_cu/app/build/../../include/app_cntrl.h:323
#3 (closed)
#4 (closed) 0x0000007fa4cd43c8 in getsockopt () at ../sysdeps/unix/syscall-template.S:78
#5 (closed) 0x0000007fa5011024 in sctp_connectx () from /lib/aarch64-linux-gnu/libsctp.so.1
#6 (closed) 0x0000000000d39e28 in ngp::sctp_sock_apis::connect_peer (this=0x3aaf0c80, client_fd=19,
assoc_id=@0x7f7cb831a0: -1, user=3 '\003') at /home/yl/cu/nr_hl_cu/ngp/comm/build/../src/ngp_inet.cpp:258
#7 0x0000000000c6bfa4 in ngp::sctp_client_epollgnb::sctp_xn_client::connect (client=,
user=0 '\000', fd=19, this=0x3a877540)
at /home/yl/cu/nr_hl_cu/cu/nr_hl_cu/app/build/../../../../ngp/include/ngp_sctp_epoll.h:1257
#8 (closed) ngp::sctp_client_epollgnb::sctp_xn_client::connect_server (user=0 '\000', this=0x3a877540)
at /home/yl/cu/nr_hl_cu/cu/nr_hl_cu/app/build/../../../../ngp/include/ngp_sctp_epoll.h:1416
#9 (closed) ngp::sctp_client_epollgnb::sctp_xn_client::run_sctp_clients (this=this@entry=0x3a877540,
msg_piggybacking_disabled=msg_piggybacking_disabled@entry=true, user=0 '\000', user@entry=3 '\003',
th_num=th_num@entry=0 '\000', Python Exception <class 'ValueError'> Cannot find type const class std::
_cxx11::list<int, std::allocator >::_Node:
core_ids=std::__cxx11::list)
at /home/yl/cu/nr_hl_cu/cu/nr_hl_cu/app/build/../../../../ngp/include/ngp_sctp_epoll.h:1433
#10 (closed) 0x0000000000c69908 in gnb::sctp_xn_client_thread::run (this=0x3a876e60)
at /home/yl/cu/nr_hl_cu/cu/nr_hl_cu/app/build/../src/sctp_xn_client_thread.cpp:129
#11 (closed) 0x0000000000d68754 in ngp::thread_entry_function (param=)
at /home/yl/cu/nr_hl_cu/ngp/thread/build/../src/ngp_sys_thread.cpp:127
#12 (closed) ngp::thread_start (param=)
at /home/yl/cu/nr_hl_cu/ngp/thread/build/../src/ngp_sys_thread.cpp:142
#13 (closed) 0x0000007fa4d7c7e4 in start_thread (arg=0x7fccbe000f) at pthread_create.c:486
#14 0x0000007fa4cd370c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78

历史记录

#1

李 玮璇 更新于 大约 2 个月 之前

  • 状态新建 变更为 进行中
  • 优先级一般 变更为
#2

李 玮璇 更新于 大约 2 个月 之前

【问题原因】
1、之前优雅退出阻绝第二次信号的代码未在此分支,会导致快速执行exit(0)
2、之前代码错误导致未先执行ping邻操作,后续在快速退出时对xn邻操作的时候导致对象成员被二次信号析构,线程崩溃在fd使用

【修改方案】
1、合入退出阻绝第二次信号的代码
2、对fd先判断是否有效,在有耗时操作后判断下退出标志,优化ping邻操作逻辑
3、优雅退出时唤醒wait,防止卡在wait

【回归方法和注意事项】
1、在各种启动下协议栈场景(刚启动、有接入、有业务等等)下,退出cu看看是否可以快速退出不卡顿、不产生core文件

#3

李 玮璇 更新于 大约 2 个月 之前

  • 主题3.1.3出包分之退出出现cu coredump在sctp connect_peer 变更为 3.1.3的版本包退出时出现cu coredump在sctp connect_peer
#4

李 玮璇 更新于 大约 2 个月 之前

  • 状态进行中 变更为 反馈
  • 指派给李 玮璇 变更为 杨 杨乐
#5

李 玮璇 更新于 大约 2 个月 之前

  • 状态反馈 变更为 审视
#6

杨 杨乐 更新于 大约 2 个月 之前

  • 状态审视 变更为 转测试
  • 指派给杨 杨乐 变更为 王 旭初

Rel_3.1.3_Pre1T8版本代码已合入该问题的修改

导出 Atom PDF