项目

一般

简介

错误 #4277

【Rel_3.1.3_Pre1T6_E500_128UE】大上行配比同时上下行UDP业务,下行灌大量包(700M)session服务启动失败导致DU挂死

张 开科2 个月 之前添加. 更新于 4 天 之前.

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

0%

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

描述

128多用户接入后做上下行UDP业务,上行整站灌包600M,下行整站灌包700M,业务10s左右,基站DU挂死,原因:session服务启动失败导致DU进程相关的线程崩溃


文件

SSH_DU信息.txt (5.28 KB) SSH_DU信息.txt 第1次复现跑死在MAC:ysUlm_FAPI_HdlUlschInd 惠 帅帅, 2025-10-22 13:51
du_key_info_state_record.log (1.15 KB) du_key_info_state_record.log 第1次复现关键信息统计 惠 帅帅, 2025-10-22 13:51
du_key_info_state_record.log (599 Bytes) du_key_info_state_record.log 第2次复现关键信息统计 惠 帅帅, 2025-10-22 14:46
SSH_DU信息.txt (212 KB) SSH_DU信息.txt 第2次复现内存申请不出来 惠 帅帅, 2025-10-22 14:46

历史记录

#1

惠 帅帅 更新于 大约 2 个月 之前

  • 文件 SSH_DU_打印.txt 已添加
#2

惠 帅帅 更新于 大约 2 个月 之前

  • 文件 du_key_info_state_record.log 已添加
#3

惠 帅帅 更新于 大约 2 个月 之前

  • 文件 已删除 (SSH_DU_打印.txt)
#4

惠 帅帅 更新于 大约 2 个月 之前

  • 文件 已删除 (du_key_info_state_record.log)
#5

惠 帅帅 更新于 大约 2 个月 之前

今日尝试原场景复现(1D3U下行700M+上行600M),未出现session会话创建跑死。
出现上下调度指示接口ysUlm_FAPI_HdlUlschInd跑死,立伟分析可能原因为内存被踩,需要跟上MAC_COMMON模块log继续复现。

备注:coredump出现前提示:
1)统计看瞬间EVT_NRUP_EGTPU_DATA_INDICATION消息处理线程队列存在大量消息积压,内存不能快速释放。
2)udpDlMsgQ1队列满。
alloc_nrup_dat_ind_succ1 = 37913939, alloc_nrup_dat_ind_succ2 = 0, delete_nrup_dat_ind_succ = 37913939!
alloc_nrup_dat_ind_succ1 = 37924159, alloc_nrup_dat_ind_succ2 = 0, delete_nrup_dat_ind_succ = 37924113!
alloc_nrup_dat_ind_succ1 = 38007369, alloc_nrup_dat_ind_succ2 = 0, delete_nrup_dat_ind_succ = 37999934!
Buffer is Full 1, size=40960, write=5846, read=5847, n_write=41006806, n_read=40965847, nWriteFail=0, nReadFail=0, rBuf=0xe7a5d8
udpDlMsgQ1 is Full, size=40960, rBuf=0xe7a5d8
alloc_nrup_dat_ind_succ1 = 38106380, alloc_nrup_dat_ind_succ2 = 0, delete_nrup_dat_ind_succ = 38065527!
./run.sh: line 14: 2391 Segmentation fault (core dumped) ./gnb_du

3)coredump解析内容
#0 0x00000000008b3748 in ysUlm_FAPI_HdlUlschInd (cellCb=cellCb@entry=0x7da54d6430, pRx_UlschIndMsg=pRx_UlschIndMsg@entry=0x68dda60 <gFapiCPlan+2294280>,
pool_id=pool_id@entry=0 '\000') at /home/xss/du_push/ran/nr_hl_du/src/5gnrclms/ys_fapi_task.c:2305
(gdb) p pUlPduInfo
$1 = (L1RxDataPduInfo_t *) 0x68ddab8 <gFapiCPlan+2294368>
(gdb) p *(L1RxDataPduInfo_t *) 0x68ddab8
$2 = {
Handle = 70780895,
RNTI = 1672,
HarqID = 66 'B',
rev = 3 '\003',
numTLV = 4129425091,
TLVs = 0x68ddac4 <gFapiCPlan+2294380>
}
由rnti非法值分析可能该块内存被踩。

#7

惠 帅帅 更新于 大约 2 个月 之前

MAC_COMMON LOG打开后接入后做业务很快内存申请不到,MAC同事正在分析。
alloc_nrup_dat_ind_succ1 = 135497272, alloc_nrup_dat_ind_succ2 = 0, delete_nrup_dat_ind_succ = 135497272!
alloc_nrup_dat_ind_succ1 = 135497281, alloc_nrup_dat_ind_succ2 = 0, delete_nrup_dat_ind_succ = 135497281!
alloc_nrup_dat_ind_succ1 = 135497288, alloc_nrup_dat_ind_succ2 = 0, delete_nrup_dat_ind_succ = 135497288!
alloc_nrup_dat_ind_succ1 = 135497289, alloc_nrup_dat_ind_succ2 = 0, delete_nrup_dat_ind_succ = 135497289!
alloc_nrup_dat_ind_succ1 = 135512522, alloc_nrup_dat_ind_succ2 = 0, delete_nrup_dat_ind_succ = 135512522!
alloc_nrup_dat_ind_succ1 = 135626343, alloc_nrup_dat_ind_succ2 = 0, delete_nrup_dat_ind_succ = 135595938!
Buffer is Full 1, size=40960, write=26592, read=26593, n_write=148056032, n_read=148015073, nWriteFail=0, nReadFail=0, rBuf=0xe7d5d8
udpDlMsgQ1 is Full, size=40960, rBuf=0xe7d5d8
SPstWTsk failed get memory event172 size88 listValidBktSet0
allocator::new failed ,size108,ret1
allocator::new failed ,size108,ret1
allocator::new failed ,size108,ret1
allocator::new failed ,size108,ret1
allocator::new failed ,size108,ret1
allocator::new failed ,size108,ret1
allocator::new failed ,size108,ret1
allocator::new failed ,size108,ret1
allocator::new failed ,size108,ret1
allocator::new failed ,size108,ret1
allocator::new failed ,size108,ret1

目前看,消息EVT_NRUP_EGTPU_DATA_INDICATION消息处理确实在瞬间存在线程队列中存在大量积压,108size内存申请不出来了。

#9

惠 帅帅 更新于 大约一个月 之前

  • 状态新建 变更为 进行中

同单子4380,3层写数据库方式修改为通知GNB_AGENT写数据库,确保写数据模块的唯一性,防止锁冲突导致访问数据库失败。

#10

惠 帅帅 更新于 9 天 之前

  • 状态进行中 变更为 审视
  • 指派给惠 帅帅 变更为 周 立伟

解决策略同4380单描述:
问题背景:
E500环境偶现DU业务sysrepo访问数据库进行写操作时跑死。
初步分析为DU业务和GNB_AGENT同时sysrepo访问数据库时存在锁竞争导致。

解决方案:
sysrepo写数据库操作尽可能由单一模块单一线程完成,以避免锁竞争。
DU业务写数据库动作应交由DU_AGENT模块实施。

修改内容:代码合入在故障单“#4483-DU与AGENT-UDP通信接口整改”中体现
1)支持单动作单路径xpath参数修改
2)支持单动作多路径xpath参数修改
3)支持AGENT异常业务自行修改xpath

测试用例:
反复尝试重建小区5次,小均可以建立正常。

#11

周 立伟 更新于 4 天 之前

  • 状态审视 变更为 转测试
  • 指派给周 立伟 变更为 张 开科
  • 目标解决问题版本Rel_3.1.3 变更为 Rel_3.1.5

已自验通过并合入3.1.5。可转测。

导出 Atom PDF