华为软交换端局话统丢失问题分析报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华为软交换端局话统丢失问题分析报告

一、故障现象

华为软交换端局在M2000上无法取得话统结果

二、故障处理过程

提取网元运行日志进行分析

三、故障分析

上传话统流程过程中后台执行ULD MEASRST命令上传话统结果,此命令由Maintain进程处理,如果此进程无响应,将造成无法上传话统结果。

分析Maintain进程运行日志发现,有以下打印

2011-03-01 15:41:27:657 Err \bambase\monitorthread.cpp 776

Succeed to GetProcessHeaps..

2011-03-01 15:41:27:657 Err \bambase\monitorthread.cpp 813

Max heap number is 100.

2011-03-03 12:49:13:021 Err \maintain.cpp 207

[CMaintainApp::InitInstance]Initial...

2011-03-03 12:49:13:099 Err \maintain.cpp 233

[CMaintainApp::InitInstance]Call AfxSetResourceHandle() succeed

2011-03-03 12:49:13:115 Err \maintain.cpp 258

[CMaintainApp::InitInstance]Call InstanceFirst() succeed

其中2011-03-01日15:41:27 到2011-03-03日12:49:13之间的1天多的时间内没有任何打印,说明Maintain进程出现了吊死无响应,不响应M2000下发的执行命令(ULD MEASRST),这是造成M2000取不到话统结果的原因。

分析Maintain运行日志发现,进程是在运行到Succeed to GetProcessHeaps..

位置时出现吊死无响应,此部分打印由Maintain进程的监控线程运行。在Maintain内部有一个主线程、多个工作线程和一个监控线程组成,其中监控线程负责监控其他线程的运行情况。

当有某个线程出现异常,监控线程负责杀死此线程并将它重启。但是没有任何机制监控监控线程的工作情况,如果监控线程出现异常,那整个进程将长期处于异常状态无响应。此为问题产生的主要原因。

3月3日12:49由于有维护操作,由于BAM要响应维护命令,MAINTAIN进程自动重启,M2000取话统结果问题同时得到恢复。

在R7C3SPH018中,对各进程组件部分做了优化,增加了监控线程向BAM管理器上报心跳的机制,使得每个工作进程的监控线程被BAM管理器监控,有效解决了吊死问题。

四、结论

内部缺陷导致Maintain进程出现吊死,最终使得M2000无法取得话统结果

五、解决方案及建议

1、升级MSOFTX3000 V100R007C03SPH018或以上补丁;

2、备份BAM服务器D:\MSOFTX3000目录下Bam.ini文件(此文件为系统隐藏文件,需要

打开文件夹属性的现实系统文件和显示隐藏文件才能看到);

3、手动修改Bam.ini文件,找到[System\Maintain]项,在其项的最后一行加入

NeedShakehand=1,如下

[System\Maintain]

ImagePath =D:\MSOFTX3000\Services\Maintain.exe

Start =2

VirtualProcID = 6

ProcessID =2312

ModuleName = Maintain.exe

State=1

MainThreadID=5248

NeedShakehand=1

4、修改完成保存文件,并重启整个BAM服务器使得配置生效。

2011年3月7 日

相关文档
最新文档