项目

一般

简介

错误 #2610

16P_Pre1T1:vonr切换4、5次后,cu挂死,有core文件

郭 锁奇4 个月 之前添加. 更新于 4 个月 之前.

状态:
已解决
优先级:
普通
指派给:
类别:
-
开始日期:
2024-12-25
计划完成日期:
% 完成:

0%

预期时间:
问题归属:
CU
发现问题版本:
Rel_2.1.16P
目标解决问题版本:
Rel_2.1.16P
FPGA板卡类型:
CPU类型:

描述

问题:今天最新打包的2.1.16Pre1_T1版本,vonr切换4、5次后,cu挂死,有core文件。
版本:16P_Pre1T1


文件

历史记录

#1

杨 杨乐 更新于 4 个月 之前

补充:场景为XN切换
当40切换到70时,导致了崩溃
问题函数:bearer_mgr_ue_conn_state::bearer_conn_null::on_rm_bearer_add_cmd_event
崩溃原因是有一个PDU Session下的drb数量有4个;而build_egtpu_upper_rx_tunnels_setup_req中的类型为DL_NORMAL_DL_FWD_TUNNEL时,会导致数组rx_tunnel_setup_params访问到下标为8的元素;
而改数组的上限是8,所以导致了内存越界,从而崩溃。

#2

杨 杨乐 更新于 4 个月 之前

1.手机带着语音业务,XN从70基站切换到40基站
2.手机挂断语音业务,然后开始视频业务,准备切到70基站时,70基站崩溃
在70基站分析发现:
PDUSession有两个,
1个是1个drb,1个是4个drb,4个drb肯定是不对的

遗留的小问题:
1.qfi为1的在40切到70时,重复出现了一次。

#3

杨 杨乐 更新于 4 个月 之前

  • 状态新建 变更为 进行中
  • 指派给杨 杨乐 变更为 宋 承立

在目标侧崩溃的问题,已做了保护;
源基站多带了一个QFI的问题,还需要承立继续分析和解决

#4

杨 杨乐 更新于 4 个月 之前

  • 状态进行中 变更为 转测试
  • 指派给宋 承立 变更为 郭 锁奇

【问题原因】
有两个基站:A基站和B基站
两个UE:UE1和UE2
复现步骤:
1.UE1和UE2都接入到A基站
2.UE1和UE2产生VONR业务,这时UE1中的QFI为1、5和9,这三个QFI
3.UE1通过XN切换到B基站
4.UE1挂掉语音
5.UE1呼叫视频,也就是VINR业务
6.UE1切换到A基站
到第六步时,A基站的CU就产生了崩溃
原因是第五步时,负责语音和视频的PDU Session下面有四个QFI,分别为1、1、 2、 5。也就是1重复了2次出现。另一个PDU Session下面有一个QFI为9;一共有5个qfi
第六步时,A基站根据QFI的数量来创建DRB,在创建tunnel时,由于有切换场景,所以每个drb会创建2个tunnel对象。
而改tunnel数组的上限为8,现在共有5个qfi,也就是5个drb,会创建10个tunnel,那么到创建第9个时,就会崩溃

【修改方案】
修改1:
在基站B,也就是切换的目标基站做保护,不让产生重复的QFI。
产生重复QFI的原因是:切换过来有两个容器保存QFI,一个是切换容器,一个是add容器;
而添加时会从上面两个容器取数据,然后添加到最终的vector容器中。通过在这儿保护下,就不会重复添加了

修改2:
在基站A,也就是切换第二次的目标基站做保护,当有多个重复QFI时,也只创建一个DRB对象

【回归方法和注意事项】
按照上面的步骤,多次测试;如果不出现,则关闭该问题单

sha1:7cdbee6df80521d6108f3e121bbaa72e7576bc66

#5

郭 锁奇 更新于 4 个月 之前

  • 状态转测试 变更为 已解决

16P_Pre1T1新打包的版本上验证,语音、视频的切换没有出现cu崩溃问题,问题解决。

导出 Atom PDF