• 您好!歡迎進入深圳市華訊佳科技有限公司官網!

  • 15088181811
您當前所處位置: 首頁 > 新聞資訊 > 華為案例

內存泄露導致EGS2單板異常復位

發布人:華訊佳 發布時間:2021-11-03 瀏覽數:

問題描述

OSN3500網元的SSN2EGS2單板上報"COMMUN_FAIL"告警,業務中斷。檢查發現是該SSN2EGS2單板異常復位導致上報"COMMUN_FAIL"告警。單板復位后業務恢復,之后未出現"COMMUN_FAIL"告警和單板異常復位。
主機版本為5.21.12.42
EGS2單板版本為2.14

告警信息

COMMUN_FAIL

處理過程

升級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是一個沒有初始化,也有沒有獲得空間的指針,在下面釋放也有可能導致重復釋放而重起;
因此,問題原因為:由于申請內存之后,在特殊的場景下沒有釋放內存,導致內存泄露,單板復位。內存泄露后的累計是一個長期的過程,所以復位單板之后問題消失。該問題為單板質量問題。


午夜无码电影888不卡