0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

異常重啟怎么破?多方排查后,原因竟然是。。。

青山老竹農(nóng) ? 來源:jf_82863998 ? 作者:jf_82863998 ? 2024-10-14 07:04 ? 次閱讀

?又是異常重啟。。。讓人摸不到頭腦。

這幾天,看到客戶上報了重啟問題,說是查不出原因。

重啟現(xiàn)象是 ——有極個別設(shè)備在工作中不定時反復(fù)異常重啟,大部分設(shè)備正常;反復(fù)重啟設(shè)備,有時候又能持續(xù)正常工作。

溝通中很明顯感覺到了客戶的著急和無奈,必須找出背后原因,解決客戶問題!

一、查找線索

按常規(guī)流程先詢問客戶開發(fā)模塊、開發(fā)方式,并要求提供對應(yīng)日志。經(jīng)確認(rèn)如下:

開發(fā)模塊:Air780E

最新資料:www.air780e.cn

開發(fā)方式:LuatOS

開發(fā)教程

https://doc.openluat.com/wiki/26?wiki_page_id=3020

客戶提供日志反饋:

腳本日志沒報錯誤,就是不定時卡住一會,然后就重啟了。

圖片?

第一反應(yīng):不會是死循環(huán)導(dǎo)致的重啟吧?

客戶反饋:“沒有死循環(huán),任務(wù)里面都有延時的,而且大部分設(shè)備是正常的。且重啟的時間也不定,最短4秒,最長是三分多鐘,看起來不符合20秒的看門狗重啟呀,而且設(shè)備昨天有正常工作一天,然后異常的時候就持續(xù)一直異常。但是這個固件的絕大部分設(shè)備是正常工作,不會異常重啟的?!?/p>

看來不是死循環(huán)導(dǎo)致的看門狗重啟問題。

為了進行一步排查重啟原因,我讓客戶用pm.lastReson()這個接口打印開機原因值。

客戶反饋:“我們有平臺上傳數(shù)據(jù), pm.lastReson()是006異常重啟 ”。

根據(jù)接口文檔相關(guān)說明來看,確實不是內(nèi)部看門狗導(dǎo)致的重啟,是異常重啟導(dǎo)致的。

接口文檔詳見:

https://wiki.luatos.com/api/pm.html#pm-lastreson

圖片?

二、了解背景

心想看不出啥具體原因,先了解一下客戶使用背景吧,說不定會有啥線索。

我問:“之前正常,現(xiàn)在是用不了,一直在重啟嗎?”

客戶反饋:“也不是吧,一開始是好的,然后掛了幾個月一直重啟,最近發(fā)現(xiàn),昨天我拿過來掛了一天又正常,然后今天又重啟,老化區(qū)就這個設(shè)備會重啟,其他同固件是正常的。”

我又問:“換DEMO會重啟嗎? 確認(rèn)一下是硬件問題,還是軟件問題。

客戶反饋:“ 今天測試過,只下載腳本是一定會出問題。 然后我剛剛重新下載底層和腳本,目前五分鐘沒有重啟。”

看上去應(yīng)該不是硬件問題,可能是軟件引起的。心想讓客戶用最新版本試一下吧,確認(rèn)一下還會不會出現(xiàn)問題。

客戶反饋:“我們是因為有一個設(shè)備到客戶手上有這個問題是V1108的,然后老化區(qū)只有這個設(shè)備也是異常重啟,是V1106的,然后就看的這個,后面重新燒錄1106的底層也是正常的,這設(shè)備挺難出現(xiàn)這個問題的,只能我們這邊掛著測一下。”

看來又是一個令人頭大的重啟問題,要等客戶提供底層日志來進一步排除問題了。

三、重要線索


客戶把掛測的底層日志提供過來了,打開后確實看到了RamDumpData開頭的死機信息。

圖片?

打開上面的RamDumpData出現(xiàn)如下信息:

圖片?

我趕緊和研發(fā)大佬確認(rèn),可能是啥情況。大佬問答大概率是FLASH壞掉了,讓和客戶確認(rèn)不是有KV相關(guān)的操作。

客戶回答,確實有KV的操作。

本文提到的KV:

KV數(shù)據(jù)庫 ——指的是LuatOS中的FSKV庫,提供鍵值對數(shù)據(jù)庫功能,數(shù)據(jù)持久化在Flash上,使用獨立的KV分區(qū),使用LuaTools刷機時可選擇清空,默認(rèn)是不清空。由Flash的特性決定了,寫入次數(shù)是有限的,頻繁寫入導(dǎo)致超限后,將無法設(shè)置/更新數(shù)據(jù),導(dǎo)致系統(tǒng)異常。

為了進一步驗證猜測,讓客戶做了如下測試:

問:“死機重啟后,燒錄不清除KV試試看還會不會重啟,或者去除KV相關(guān)操作看還會不會重啟?!?/p>

答:“KV操作挺多的,不好清除,我試下燒錄不清除KV,有時候斷電過一會就好了,不是很好復(fù)現(xiàn),我先試試燒錄不清除KV?!?/p>

客戶反饋:“不清除KV也會有重啟?!?/p>

問:“重新燒錄底層的時候,有沒有清理KV?!?/p>

答:“有”…

根據(jù)此前客戶反饋和當(dāng)前測試來看,應(yīng)該是FALSH模塊有些區(qū)域壞掉了。

四、確認(rèn)猜測


至此,可以說這個重啟的原因基本是確認(rèn)了,導(dǎo)致模塊令人琢磨不透的重啟問題的“搗蛋鬼”也基礎(chǔ)上算是給揪出來了。但是,還是需做進一步的測試來確定猜測。

研發(fā)大佬給了一下測試固件,來確認(rèn)猜測是否正確。

圖片?

經(jīng)過測試驗證后,確定是FALSH部分區(qū)域壞掉引起的重啟。

至此這個“重啟案件”算是偵破了。

給客戶的建議:

要改腳本,需要大幅度減少寫KV的次數(shù),防止破壞模塊重啟的“搗蛋鬼”再次出來搗亂。

溫馨提示:

KV的寫壽命是10萬次,過于頻繁操作可能會導(dǎo)致FLASH壞掉,引起設(shè)備反復(fù)重啟。

因此,在寫代碼的時候要盡量減少寫KV的次數(shù)。

?審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3733

    瀏覽量

    64169
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4694

    瀏覽量

    68074
  • LuatOS
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

    1910
收藏 人收藏

    評論

    相關(guān)推薦

    N9H20 GPIO上電竟然是高電平,有沒有辦法解決?

    一直很納悶,GPIO上電竟然是高電平。有沒有辦法解決,是不是要改動啟動程序才能解決問題?
    發(fā)表于 01-17 08:27

    [轉(zhuǎn)帖]這樣的建站程序,竟然是免費的!

    這樣的建站程序,竟然是免費的!廢話就不多說了,大家看了圖再發(fā)表意見吧![/url][url=http://b86.net]這樣的程序,只需要,購買耐思尼克www.b86.net/?s=cartoon
    發(fā)表于 05-22 16:06

    SRTP,被刷下來了,原因竟然是抽簽被抽到

    本帖最后由 iiio051031448 于 2012-4-1 12:36 編輯 SRTP,被刷下來了,如果是項目不合理,或者沒有別人的好,我也就認(rèn)了,自己能力不行。原因竟然是抽簽被抽到,就你不行我還能相信學(xué)校么?!
    發(fā)表于 04-01 01:00

    影響PCB價格的因素竟然是這些,表示都忽略了

    影響PCB價格的因素竟然是這些,表示都忽略了
    發(fā)表于 04-09 19:41

    今年竟然沒給運放怎么

    全國大學(xué)生單子設(shè)計競賽今年竟然沒給運放怎么
    發(fā)表于 08-06 14:45

    【NUCLEO-F412ZG試用體驗】Nucleo412竟然是6層板

    本帖最后由 zpzdd 于 2017-2-28 09:37 編輯 看了板子的圖紙才知道Nucleo412竟然是6層板,ST真是大手筆啊
    發(fā)表于 02-28 09:36

    AD421供電問題,Vcc引腳輸出竟然是12v是怎么回事?

    電路圖,如圖所示,mosfet采用,ND2020l,VCC竟然是12v,這是怎么回事呢?如何解決?謝謝!
    發(fā)表于 09-26 15:34

    電磁爐干燒的原因竟然是最不起眼的小元件!

    `電磁爐干燒的原因竟然是不起眼的小元件你知道嗎隨著科技的發(fā)展,電磁爐使用頻率越來頻繁,加熱,炒菜,等等…大部分食材都會用到電磁爐,現(xiàn)如今電磁爐都有一套保護系統(tǒng),可是還是會出現(xiàn)干燒,不加熱故障
    發(fā)表于 07-20 09:59

    聯(lián)想Z5重啟事件查明原因,竟然是工程師大意所為

    最近關(guān)于聯(lián)想Z5重啟的事情鬧得沸沸揚揚,在聯(lián)想為Z5用戶推送了ZUI3.9.108穩(wěn)定版之后,不少升級的用戶表示手機自動重啟,給很多用戶的日常生活帶來了不小的麻煩。為此有的用戶還恢復(fù)了出廠設(shè)置, 付出了慘重的代價。雖然官方給與了道歉,不過顯然不能彌補用戶的損失。
    發(fā)表于 07-30 17:43 ?4077次閱讀

    在Kubernetes集群發(fā)生網(wǎng)絡(luò)異常時如何排查

    本文將引入一個思路:“在 Kubernetes 集群發(fā)生網(wǎng)絡(luò)異常時如何排查”。文章將引入 Kubernetes 集群中網(wǎng)絡(luò)排查的思路,包含網(wǎng)絡(luò)異常模型,常用工具,并且提出一些案例以供學(xué)
    的頭像 發(fā)表于 09-02 09:45 ?4614次閱讀

    程序員節(jié) | 今年程序員們都想要的禮物竟然是……

    原文標(biāo)題:程序員節(jié) | 今年程序員們都想要的禮物竟然是…… 文章出處:【微信公眾號:微軟科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
    的頭像 發(fā)表于 10-24 10:35 ?456次閱讀
    程序員節(jié) | 今年程序員們都想要的禮物<b class='flag-5'>竟然是</b>……

    你不知道的FPC,它的發(fā)展史竟然是這樣的!

    你不知道的FPC,它的發(fā)展史竟然是這樣的!
    的頭像 發(fā)表于 11-15 10:48 ?925次閱讀

    Java怎么排查oom異常

    據(jù)量的應(yīng)用中。要排查OOM異常,需要經(jīng)過以下幾個步驟: 理解OOM異常原因:OOM異常通常有以下幾個
    的頭像 發(fā)表于 12-05 13:47 ?1120次閱讀

    令人頭疼的異常重啟,竟然是KV的鍋…

    合宙模組異常重啟原因排查
    的頭像 發(fā)表于 09-26 18:14 ?293次閱讀
    令人頭疼的<b class='flag-5'>異常</b><b class='flag-5'>重啟</b>,<b class='flag-5'>竟然是</b>KV的鍋…

    遠(yuǎn)程升級頻頻失???原因竟然是

    ?最近有客戶反饋在鄉(xiāng)村里頻繁出現(xiàn)掉線的情況。 趕緊排查原因! 通過換貨、換SIM卡對比排查測試,發(fā)現(xiàn)只有去年采購的那批模塊在客戶環(huán)境附近會出現(xiàn)掉線的情況,而今年采購的模塊批次就不會掉線。。。 繼續(xù)
    的頭像 發(fā)表于 10-14 07:07 ?54次閱讀
    遠(yuǎn)程升級頻頻失?。?b class='flag-5'>原因</b><b class='flag-5'>竟然是</b>…