错误 #2243
[15p_pre2T4升级验证]【大上行上行双天线】单用户UL大误码率,上行大流量,持续掉线压力环境压力测试CU出现挂死,压力时间39h
开始日期:
2024-10-14
计划完成日期:
% 完成:
0%
预期时间:
问题归属:
CU
发现问题版本:
Rel_2.1.15P
目标解决问题版本:
Rel_2.1.15P
FPGA板卡类型:
CPU类型:
描述
测试版本:15p_T4基线+【0928:优化挂死DU版本】+【1012:CU 2232 shell卡死解决版本】
测试设备:核心网 192.168.8.218 基站 192.168.8.173
测试配置:【大上行上行双天线】单用户上行大流量上下行锁定MCS 28 。
测试场景:UL大误码率,上行大流量,持续掉线压力环境
测试时间:39h
测试结果:10.14 凌晨 1 :04 左右 cu挂死,后agent可正常拉起。目前小区正常
现象上挂死前 msg3 已处理不及时,MSG4 都堆到一起发出,同时后面也出现了RRCREJECT 。初步怀疑cu内存问题
历史记录
由 杨 杨乐 更新于 11 个月 之前
- 状态 从 新建 变更为 转测试
- 指派给 从 杨 杨乐 变更为 刘 抒放
【问题原因】
1.日志输出模块,由于性能原因没有加锁,使用了保护机制来处理。出问题的是如下的代码:
ngp::log_entry& e = ngp::log_buffer::get_instance()->read_next();
2.而导致日志模块崩溃的原因是,bearer_mgr_ue_conn类中的对象pdu_session_list,该对象是一个map,在循环过程中,被其它线程(UE_CNTRL_THREAD)删除了一个元素,导致了死循环
【修改方案】
1.上面的代码由于使用了引用,会出现在使用过程中被改写的可能,然后导致崩溃,所以修改如下,去掉了引用:
ngp::log_entry e = ngp::log_buffer::get_instance()->read_next();
2.对象pdu_session_list加了锁,保证了线程的同步
【回归方法和注意事项】
接入ue后,尽量以48小时为回归时长,如果不再出现,可关闭问题单