错误 #600
DU挂死,内存分配失败
开始日期:
2021-07-21
计划完成日期:
% 完成:
100%
预期时间:
问题归属:
DU
CPU类型:
描述
测试环境:245
测试版本:rel2.1.6p
测试问题:DU挂死
大上行子帧配比情况下,DL灌包或没灌包都出现DU挂死,打印内存分配失败
历史记录
由 匿名用户 更新于 将近 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的内存释放;
修改后多次测试没有发现同样的挂死情况,上下行速率正常。