RM新时代网站-首页

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

又遇到異常重啟?可能是KV的鍋…

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

?在技術(shù)支持群,看到客戶報了一個不明原因的重啟問題。 重啟現(xiàn)象是 ——有極個別設備在工作中不定時反復異常重啟,大部分設備正常;反復重啟設備,有時候又能持續(xù)正常工作。

隔著屏幕都感覺到了客戶的著急和無奈,我決定和客戶一起揪出這個“搗蛋鬼”。

一、查找線索

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

開發(fā)模塊:Air780E

最新資料:www.air780e.cn

開發(fā)方式:LuatOS

開發(fā)教程

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

客戶提供日志反饋:

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

圖片?

第一反應:不會是死循環(huán)導致的重啟吧?

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

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

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

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

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

接口文檔詳見:

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

圖片?

二、了解背景

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

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

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

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

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

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

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

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

三、重要線索


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

圖片?

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

圖片?

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

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

本文提到的KV:

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

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

問:“死機重啟后,燒錄不清除KV試試看還會不會重啟,或者去除KV相關操作看還會不會重啟。”

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

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

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

答:“有”…

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

**四、確認猜測 **


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

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

圖片?

編輯

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

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

給客戶的建議:

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

溫馨提示:

KV的寫壽命是10萬次,過于頻繁操作可能會導致FLASH壞掉,引起設備反復重啟。

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

?11.jpg
12.jpg

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

    關注

    7

    文章

    2695

    瀏覽量

    47431
  • 設備
    +關注

    關注

    2

    文章

    4502

    瀏覽量

    70598
  • 日志
    +關注

    關注

    0

    文章

    138

    瀏覽量

    10639
收藏 人收藏

    評論

    相關推薦

    數(shù)據(jù)采集網(wǎng)關出現(xiàn)斷網(wǎng)可能是什么原因?如何排查?

    數(shù)據(jù)采集網(wǎng)關出現(xiàn)斷網(wǎng)可能是什么原因?如何排查?
    的頭像 發(fā)表于 11-30 13:43 ?183次閱讀

    DAC7564參考電壓異常的原因?

    最近使用DAC7564遇到一個奇怪的問題,一批板子里面有2片板子的2.5V基準電壓輸出異常,一片輸出5V,另外一片輸出2.7V,但是多啟動幾次電壓正常了,有沒有人遇到過同樣的問題?
    發(fā)表于 11-29 14:07

    單片機異常復位的原因

    單片機異常復位是指單片機在正常工作過程中,非預期地返回到初始狀態(tài)或重啟。這種異常復位現(xiàn)象可能由多種因素引起,以下是對單片機異常復位原因的詳細
    的頭像 發(fā)表于 10-17 17:56 ?832次閱讀

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

    ?又是異常重啟。。。讓人摸不到頭腦。 這幾天,看到客戶上報了重啟問題,說是查不出原因。 重啟現(xiàn)象是 ——有極個別設備在工作中不定時反復異常
    的頭像 發(fā)表于 10-14 07:04 ?252次閱讀
    <b class='flag-5'>異常</b><b class='flag-5'>重啟</b>怎么破?多方排查后,原因竟然是。。。

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

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

    使用CS1232 采集一個小信號,信號有可能是正,也可能是負 ,是不知道怎么回事情?

    我使用CS1232 采集一個小信號,信號有可能是正,也可能是負 但是不知道怎么回事情,采集的數(shù)據(jù)就經(jīng)常不對 在上圖的電路中,當我把P4 短路,采集到的電壓盡然是為8388608 我看了一下SDO
    發(fā)表于 09-25 14:36

    電磁爐檢電阻怎么測好壞

    電磁爐是一種利用電磁感應原理將電能轉(zhuǎn)換為熱能的廚房電器,廣泛應用于家庭、餐館、食堂等場所。電磁爐的檢功能是其核心功能之一,通過檢測具的電阻值來判斷具是否符合電磁爐的使用要求。 一、電磁爐檢
    的頭像 發(fā)表于 07-15 09:27 ?1441次閱讀

    AD7691讀取的后4位總是0,請問可能是什么原因造成的?

    我讀取的18位AD7691,后4位總是0,請問可能是什么原因造成的。
    發(fā)表于 07-02 07:28

    stm32雙ADC采樣異常的原因?

    采用雙ADC采樣,其中的一個ADC的采樣通道信號異常:具體來說就是在小范圍內(nèi),信號隨被采用信號線性跟隨,超過一定值之后,采樣值突然跳變?yōu)橐还潭ㄖ?,此后再改變被采樣電壓也無濟于事,非得重啟方可。不知有沒有人曾遇到過此現(xiàn)象,或者有沒
    發(fā)表于 05-13 06:59

    使用6路PWM控制無刷電機,低速時候電機有嘯聲,可能是什么原因?

    我使用6路PWM控制無刷電機,低速時候電機有嘯聲,可能是什么原因,應該往哪方面考慮
    發(fā)表于 04-28 06:34

    stm32 +lwip1.3.1客戶端異常導致網(wǎng)絡ping不通怎么解決?

    stm32上運行l(wèi)wip作為服務器,如果客戶端異常了,發(fā)現(xiàn)在客戶端再也ping不通 網(wǎng)絡如果異常,交換機掛了,重啟后,客戶端怎么都ping不通stm32 有沒有遇到同樣的問題? 不是
    發(fā)表于 04-22 07:30

    STM32H743異常重啟的原因有哪些?

    里面開了一個線程喂狗,喂狗線程優(yōu)先級是最高的,喂狗周期是rt_thread_mdelay 100個毫秒。 現(xiàn)在遇到問題是,10幾臺設備,每次連續(xù)運行,10幾個小時后就有1-2臺重啟了,由于不能連接
    發(fā)表于 03-27 07:03

    如何解決連接國外大帶寬服務器時可能遇到的問題

     相信很多小白用戶會對如何解決連接國外大帶寬服務器時可能遇到的問題感興趣,RAK部落小編就為您整理發(fā)布如何解決連接國外大帶寬服務器時可能遇到的問題。
    的頭像 發(fā)表于 03-19 12:00 ?500次閱讀

    LED大屏幕處理器在實際應用中遇到的問題及解決方案

    LED大屏幕處理器在實際應用中可能遇到以下問題: 畫面閃爍或抖動:這可能是由于信號傳輸不穩(wěn)定或信號同步問題導致的。解決方案是檢查信號傳輸線路和接口,確保信號傳輸穩(wěn)定,同時調(diào)整信號同步參數(shù),以實現(xiàn)
    的頭像 發(fā)表于 01-25 14:40 ?698次閱讀

    嵌入式工控機故障判斷要點 | PLC指示燈異常閃爍可能是哪些原因造成的?

    、工控機在安裝應用軟件時報錯、重啟、宕機等。 ? ? ? 3、硬件設備安裝后工控機系統(tǒng)異常(如黑屏、不啟動等)。 ? ? ? 4、應用軟件卸載后安裝不上,或卸載不了等。 ? ? ? 故障判斷要點: ? ? ? 1、安裝操作系統(tǒng) ? ? ?首先:檢查CMOS中的設置,如果需
    的頭像 發(fā)表于 12-27 08:41 ?1556次閱讀
    RM新时代网站-首页