SDH技术

华为SDH传输内存泄露导致OSN3500设备EGS2单板异常复位

问题描述

华为OSN3500网元的SSN2EGS2单板上报"COMMUN_FAIL"告警,业务中断。检查发现是该SSN2EGS2单板异常复位导致上报"COMMUN_FAIL"告警。单板复位后业务恢复,之后未出现"COMMUN_FAIL"告警和单板异常复位。

主机版本为5.21.12.42

华为EGS2单板版本为2.14

告警信息

COMMUN_FAIL

处理过程

升级OSN3500 SSN2EGS2单板到R6C02B014(单板软件版本3.15)版本根本解决。

根因

根据现场反馈的情况,此问题是业务正常运行中,没有进行任何操作的情况下,突然出现单板复位业务中断的情况。

分析黑匣子数据,发现在处理Hello报文时,前两次处理成功,到了第三次处理的时候,出现释放内存失败异常,导致单板复位。

log日志信息:

bb1.log                               2008-10-14 20:19:33          D:/3500prj/public/HardDrv/NP3454Drv/NP3454PktMng.cpp,813, Hardware operation failed  ,(null)

处理Hello报文错误,需要释放内存空间。          bb1.log                               2008-10-14 20:19:33          Error:0x70008, freeAddr=0x1cc8070, BufSize=0x90, dmm_intf.cpp, line:1439, ,

01cc80f0: 00000000 00000000 64656164 64656164

 bb1.log                               2008-10-14 20:19:33          Reset: File_NP3454PktMng.cpp, Line_859, Type_0xf0000010.

释放报文内存错误,内存释放失败

 bb1.log                               2008-10-14 20:19:33          Error:0x70008, freeAddr=0x1cc7380, BufSize=0x90, NP3454PktMng.cp, line:669, ,

01cc7400: 00000000 04001200 0180c200 00000000

申请报文内存错误,申请内存失败  

bb1.log                               2008-10-14 20:19:33          Error:0x70008, freeAddr=0x1cc7380, BufSize=0x90, dmm_intf.cpp, line:1439, ,

01cc7400: 00000000 04001200 0180c200 00000000

分析复位记录,是由于内存申请失败或是内存写越界导致。

通过分析该段代码发现:

在处理协议报文时,首先指针未初始化;其次由于内存泄漏,在用完片分和非片分后,申请失败,但是只记了level3黑匣子,未返回错或者直接重起;最后是在发送失败判断释放内存时笔误,导致内存没有释放;

由于内存泄漏,用完后别的任务申请失败就会重起;而如果pSendMsgBuf是一个没有初始化,也有没有获得空间的指针,在下面释放也有可能导致重复释放而重起;

因此,问题原因为:由于申请内存之后,在特殊的场景下没有释放内存,导致内存泄露,单板复位。内存泄露后的累计是一个长期的过程,所以复位单板之后问题消失。该问题为单板质量问题。


本章相关技术资料和SDH设备故障处理流程由深圳市世樾信息技有限公司收集整理(www.szdingwei.net),转载请保留!本公司专注华为SDH光传输设备,SDH传输设备的销售


销售Optix OSN3500_产品报价_销售厂家_产品特性_产品描述_深圳世樾信息科技SDH传输设备销售有限公司
供应Optix OSN3500_故障处理_安装调测_技术指标_技术参数_深圳世樾信息科技SDH传输设备销售有限公司

推荐信息

wechat

扫一扫关注我们

热线:15989490421 Wechat 3287806562