吴忠躺衫网络科技有限公司

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

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

3天內不再提示

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

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2024-09-26 18:14 ? 次閱讀

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

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

圖片?

一、查找線索

按常規流程先詢問用戶開發模塊、開發方式,并要求提供對應日志。經確認如下:

開發模塊:Air780E

最新資料:www.air780e.cn

開發方式:LuatOS

開發教程

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

客戶提供日志反饋:

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

圖片?

第一反應:不會是死循環導致的重啟吧?

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

看來不是死循環導致的看門狗重啟問題。

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

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

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

接口文檔詳見:

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

圖片?

二、了解背景

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

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

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

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

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

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

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

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

三、重要線索


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

圖片?

打開上面的RamDumpData出現如下信息:

圖片?

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

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

本文提到的KV:

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

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

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

答:“KV操作挺多的,不好清除,我試下燒錄不清除KV,有時候斷電過一會就好了,不是很好復現,我先試試燒錄不清除KV。”

客戶反饋:“不清除KV也會有重啟。”

問:“重新燒錄底層的時候,有沒有清理KV。”

答:“有”…

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

四、確認猜測


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

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

圖片?

經過測試驗證后,確定是FALSH部分區域壞掉引起的重啟。

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

給客戶的建議:

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

溫馨提示:

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

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

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8691

    瀏覽量

    151911
  • 燒錄
    +關注

    關注

    8

    文章

    266

    瀏覽量

    35720
  • LuatOS
    +關注

    關注

    0

    文章

    76

    瀏覽量

    2000
收藏 人收藏

    評論

    相關推薦

    PCM2704的ROM編程好了,竟然是亂碼,為什么?

    的說法將ROM編程好,接入系統,插入USB后,顯示正在安裝驅動,沒想到安裝完畢后竟然名稱顯示為亂碼,百思不得其解。望各位大神幫我看看問題出在哪里 這是德州儀器官方數據表中關于ROM的三段重要描述 我按照說明編程如下 可是插入電腦后顯示是亂碼 求助大神,問題出在哪里?
    發表于 11-05 08:04

    單片機異常復位的原因

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

    遠程升級頻頻失敗?原因竟然是

    ?最近有客戶反饋在鄉村里頻繁出現掉線的情況。 趕緊排查原因! 通過換貨、換SIM卡對比排查測試,發現只有去年采購的那批模塊在客戶環境附近會出現掉線的情況,而今年采購的模塊批次就不會掉線。。。 繼續追究原因,聯系對應的銷售工作人員, 了解到差異就是模塊內的固件版本不同。 去年采購的那批模塊版本是: AirM2M_780E_LTE_AT_V1138 今年采購的那批模塊版本是: AirM2M_780E_LTE_AT_V1162 看來是高版本對網絡做了優化,但在這個地區出貨的也有150多臺
    的頭像 發表于 10-14 07:07 ?221次閱讀
    遠程升級頻頻失敗?原因<b class='flag-5'>竟然是</b>…

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

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

    用線性電橋測Pt100,輸出不正確是怎么回事?

    用線性電橋測Pt100,即上圖中的RTD1,運放選用TLC2274,電路用面包板搭建好了,但是輸出不正確。其中2腳電壓為+3.6V,3腳為+2.6V,輸出竟然是正的+1.39V,求解?
    發表于 09-06 06:35

    DRV8662沒有輸出信號是哪里的問題?

    了50nf的獨石電容作為假負載,仍然不行。實在是令人頭疼。 都折騰了半月了,就是查不出毛病,求教各位,多謝多謝。
    發表于 08-27 06:24

    電磁爐檢電阻值一般是多大

    電磁爐是一種利用電磁感應原理將電能轉換為熱能的廚房電器。其工作原理是通過高頻交變電流在電磁爐線圈中產生交變磁場,當鐵質具放置在電磁爐上時,交變磁場會在具中產生渦流,從而將電能轉換為熱能,實現加熱
    的頭像 發表于 07-15 09:31 ?1741次閱讀

    電磁爐檢電阻怎么測好壞

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

    長時間發送344個字節的UDP報文,出現overflow the heap_size并導致系統異常重啟怎么解決?

    ;pmT\"(stack_size = 0,task handle = 3fff56c8) overflow the heap_size. 2,異常重啟 ShowCritical:0 ets
    發表于 07-11 07:55

    全球最大碳化硅工廠,竟然是車企建造的?

    在量產車型上使用碳化硅芯片的車企之一,而作為一家追求全產業鏈自主的車企,比亞迪實際上在SiC領域也有極為豐富的布局。 ? 比亞迪的SiC 布局——“車圈Wolfspeed ” ? 可能很難想象,作為一家車企,比亞迪在SiC領域的布局鏈條竟然比一
    的頭像 發表于 06-27 00:58 ?6742次閱讀

    晶體為什么會老化?原因竟然是....

    晶體
    TROQ創捷電子
    發布于 :2024年06月25日 08:52:52

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

    stm32上運行lwip作為服務器,如果客戶端異常了,發現在客戶端再也ping不通 網絡如果異常,交換機掛了,重啟后,客戶端怎么都ping不通stm32 有沒有遇到同樣的問題? 不是tcp的pcb被占用,ping都不能通,lw
    發表于 04-22 07:30

    電路中令人頭大的各種電容元器件

    電容是由兩塊平行的導電極板所構成,充電時以電場形式進行能量儲存。并可以在放電電路中把儲存的能量釋放。
    發表于 03-28 10:11 ?456次閱讀
    電路中<b class='flag-5'>令人頭</b>大的各種電容元器件

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

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

    STM32H745啟動與燒錄異常的原因?

    硬件平臺:Nucleo開發板 軟件:CubeMX+KEIL 問題描述:燒錄異常,啟動異常 問題詳情: 使用官方的Nucleo評估板,燒錄程序只能燒錄M7內核的程序,M4內核需要拖曳燒錄,然后程序運行
    發表于 03-06 06:35
    百家乐官网龙虎台布价格| 百家乐买闲打法| 任我赢百家乐软件中国有限公司| 百家乐代理| 一搏娱乐| 百家乐官网路珠多少钱| 定制百家乐桌垫| 赌博运气| 正品百家乐官网电话| 在线百家乐纸牌游戏| 云顶国际网| 香港百家乐官网马书| 百家乐赌场策略| 战神国际| 阴宅24层手机罗盘| 太阳城真人娱乐城| 百家乐官网怎样投注好| 蓝山县| 百家乐官网赢一注| 美国太阳城养老社区| 百家乐官网和的几率| 百家乐对付抽水| 百家乐官网制胜方法| 百家乐代理荐| 百家乐官网不倒翁注码| 百家乐博彩优惠论坛| 沙龙国际网址| 实战百家乐官网的玩法技巧和规则| 送彩金百家乐的玩法技巧和规则 | 太阳城假日酒店| 百家乐官网游戏开发软件| 赌百家乐大小点桌| 尊尚会娱乐城| 做生意的人早晨讲究| 大发888娱乐游戏下载 官方网| 百家乐官网规则好学吗| 在线百家乐电脑| 百家乐官网的必赢方法| 百家乐机器手怎么做弊| 曲阜市| 广发百家乐官网的玩法技巧和规则|