项目

一般

简介

错误 #600

DU挂死,内存分配失败

由 匿名用户 在 将近 4 年 之前添加. 更新于 将近 4 年 之前.

状态:
已解决
优先级:
普通
指派给:
-
目标版本:
开始日期:
2021-07-21
计划完成日期:
% 完成:

100%

预期时间:
问题归属:
DU
CPU类型:

描述

测试环境:245
测试版本:rel2.1.6p
测试问题:DU挂死

大上行子帧配比情况下,DL灌包或没灌包都出现DU挂死,打印内存分配失败

历史记录

#1

由 匿名用户 更新于 将近 4 年 之前

  • 状态新建 变更为 已解决
  • % 完成0 变更为 100

多次挂死情况表现一致,都是内存无法分配从而导致的挂死。
因此肯定是某个位置存在内存未释放的问题。

从log中查看,发现几次测试的时候都出现大量的RLC discard sdu的情况,通过排查RLC丢包处理的过程发现:
变量 discSduInfo 在RLC AM组包之初就申请了内存,然后在组包完成后有相应处理,但是其中一个通知高层丢包的分支(该功能暂未完善)没有释放内存。
if(discSduInfo->numSduIds != 0) {
KwUiKwuDiscSduCfm(discSduInfo); //函数为空,未释放内存
}
else {
KW_SHRABL_STATIC_BUF_FREE( discSduInfo, sizeof(KwuDiscSduInfo));
}
在上述第一个分支中添加对变量 discSduInfo的内存释放;
修改后多次测试没有发现同样的挂死情况,上下行速率正常。

导出 Atom PDF