日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

遇到“BUG: soft lockup - CPU#0 stuck for 22s”的解决思路

發布時間:2025/4/5 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 遇到“BUG: soft lockup - CPU#0 stuck for 22s”的解决思路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前開發的抓包模塊上線后有客戶反饋有丟包問題,這兩天在定位這個丟包問題,抓包模塊由我和另一名“隊友”負責,我負責底層抓包開發,他負責接收處理。在測試丟包問題的時候,他遇到一個板子連不上的情況,問我咋回事,剛好看到了log打印一行,

[27468.016028] BUG: soft lockup - CPU#1 stuck for 22s! [hagnatsd:1782] HELLO! BOOT0 is starting! boot0 version : 4.0.0 rtc[1] value = 0x00010000

一看就是內核軟鎖死,然后系統重啟了。這個問題比較嚴重,如果模塊有問題不影響系統運行還算小事,但系統掛了那就算大事了。當時也是一頭霧水,用了那么久,怎么突然跑出來這樣的問題。看問題應該是代碼里面原子鎖的使用問題,導致系統鎖死,代碼比較多,一時半會兒又走讀不過來,于是就嘗試復現這個問題。瞎搞了兩個小時,?功夫不負有心人 (⊙_⊙)?,終于又出現了一次, 同樣是鎖死

[ 688.008033] BUG: soft lockup - CPU#0 stuck for 22s! [quickstart:2532] [ 723.231005] INFO: rcu_preempt self-detected stall on CPU [ 723.232008] INFO: rcu_preempt detected stalls on CPUs/tasks: { 0} (detected by 3, t=60002 jiffies) [ 723.232024] INFO: Stall ended before state dump start [ 723.231005] Backtrace for cpu 0 (current): [ 723.231005] [ 723.231005] sending IPI to all other CPUs: [ 723.265047] IPI backtrace for cpu 2 [ 723.266009] IPI backtrace for cpu 1 [ 723.271893] IPI backtrace for cpu 3 [ 723.273107] IPI backtrace for cpu 5 [ 723.266009] IPI backtrace for cpu 7 [ 723.266009] IPI backtrace for cpu 6 [ 723.295307] IPI backtrace for cpu 4 [ 760.144028] BUG: soft lockup - CPU#4 stuck for 22s! [swapper/4:0] [ 787.618047] CIFS VFS: Server 172.25.1.90 has not responded in 120 seconds. Reconnecting... [ 903.236006] INFO: rcu_preempt self-detected stall on CPU [ 903.237012] INFO: rcu_preempt detected stalls on CPUs/tasks: { 0} (detected by 6, t=240007 jiffies) [ 903.237028] INFO: Stall ended before state dump start [ 903.236006] Backtrace for cpu 0 (current): [ 903.236006]

于是分析了自己的操作步驟,將代碼流程分開,一步一步測試,最終問題定位到一處代碼BUG, 程序走到死循環導致外部的讀寫鎖無法釋放,修改后得以解決。

總結經驗就是平常遇到這類問題一定要重視,千萬不要放過,就算不能解決也要找boss聊一聊其它方案。不然等到了客戶那邊問題會更大,而且不在現場更不方便調試。其次就是仔細分析問題產生現象,嘗試重現問題,再結合具體的代碼流程分析,類似這種軟鎖死問題基本上就是自身代碼邏輯問題,仔細走讀代碼,分析代碼流程 一步一步測試,最終定位問題根源才會徹底解決問題。

=============================================================================================

Linux應用程序、內核、驅動、后臺開發交流討論群(745510310),感興趣的同學可以加群討論、交流、資料查找等,前進的道路上,你不是一個人奧^_^。
?

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的遇到“BUG: soft lockup - CPU#0 stuck for 22s”的解决思路的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。