簡介
本文描述如何對npumgr重新啟動進行故障排除,該重新啟動是由聚合服務路由器5500(ASR5500)中的EZprmSER_CheckError觸發的。
必要條件
需求
思科建議您瞭解以下主題:
採用元件
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
問題
檢測到網路處理單元(NPU)記憶體錯誤後,可能會使用此簽名導致NPUMGR分段故障。
Fatal Signal 11: Segmentation fault
PC: [0d8e2647/X] EZprmSER_CheckError()
Faulty address: 0x272e95d4
Signal from: kernel
Signal detail: address not mapped to object
Process: card=7 cpu=1 arch=X pid=16579 argv0=npumgr
Crash time: 2017-Oct-03+01:02:32 UTC
Recent errno: 115 Operation now in progress
Build_number: 67999
Stack (22120@0x0xffc3a000):
[0d8e2647/X] EZprmSER_CheckError() sp=0xffc3aaf0
[0d78c348/X] EZapiPrm_SERCheckError() sp=0xffc3ab14
[004f4ba5/X] aresEZevents_MemSErr_Handler() sp=0xffc3ad94
[004f688b/X] aresEZevents_Handler() sp=0xffc3f104
[0d77206c/X] EZdev_ISRTask() sp=0xffc3f138
[0c25eb02/X] sn_loop_run() sp=0xffc3f5e8
[0bf451c5/X] main() sp=0xffc3f658
在資料處理卡(DPC)和管理輸入/輸出(MIO)卡上都可以看到此重新啟動。
導致重新啟動的事件可總結如下:
- 在NPU上檢測到記憶體錯誤(單位ECC錯誤)。
- NPU中斷npumgr驅動程式,因為檢測到記憶體錯誤。
- Npumgr嘗試掃描記憶體中是否存在錯誤,然後從npumdriver代碼重新啟動。
每當在卡的NPU上發現奇偶校驗(或記憶體)錯誤時,NPU都將重新啟動 — 這類似於npumgr任務重新啟動時的節點反應。由於重新啟動的觸發是已知的NPU中斷引起的記憶體錯誤,因此此重新啟動被視為瞬態硬體錯誤。
請注意,宇宙射線或靜電放電可能導致記憶體中發生位翻轉,這就是ECC要糾正的問題。
如果其中一塊卡出現一個ECC錯誤,這實際上是一個預期的事件。
如果一個卡在一個月內出現多個ECC錯誤,則懷疑卡有硬體問題。
解決方案
思科建議監視該卡,如果一個月內卡上出現類似問題,請重新安裝。
執行資料收集以調試此分段故障時,在NPU上執行記憶體錯誤恢復的快速NPU重新啟動期間觸發該事件。
思科錯誤ID CSCvu44031正在修復分段故障。