之前开发的抓包模块上线后有客户反馈有丢包问题,这两天在定位这个丢包问题,抓包模块由我和另一名“队友”负责,我负责底层抓包开发,他负责接收处理。在测试丢包问题的时候,他遇到一个板子连不上的情况,问我咋回事,刚好看到了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),感兴趣的同学可以加群讨论、交流、资料查找等,前进的道路上,你不是一个人奥^_^。

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

  1. Ubuntu18.04安装compiz后死机无法进入图形桌面,提示watchdog: BUG: soft lockup - CPU#1 stuck for 22s!如何解决,测试有效!

    现象描述: 安装compiz后没有出现预想的桌面特效效果,本想重启尝试是否生效,结果系统图像桌面直接进不去了 问题定位: 查阅资料许多,定位为compiz本身存在bug,安装后导致gdm3和nvidi ...

  2. BUG: soft lockup - CPU#0 stuck for 67! [swapper:1]的情况

    本人遇到这种情况是因为电脑一直都在待机状态,开启VMware中的CentOS,一直出现BUG: soft lockup - CPU#0 stuck for 67! [swapper:1]的情况,重启一 ...

  3. linux服务器关不了机,解决Linux关不了机开机,报错NMI watchdog: BUG: soft lockup - CPU#2 stuck for 22s的bug...

    问题描述 在安装完Ubuntu或者其他Linux, 关机时会卡死, 循环报错NMI watchdog: BUG: soft lockup - CPU#2 stuck for 22s!, 无法关机. 在 ...

  4. 报错 kernel:NMI watchdog: BUG: soft lockup - CPU#1 stuck for 22s! [insmod:55902]处理

    运行之前说的tcrypt.c的修改程序(只跑摘要算法md5,sha1) insmod tcrypt.ko sec=2 mode=400 报错 kernel:NMI watchdog: BUG: sof ...

  5. NMI watchdog: BUG: soft lockup - CPU#2 stuck for 23s!

    <NMI watchdog: BUG: soft lockup> <kernel:NMI watchdog: BUG: soft lockup - CPU#6 stuck for 2 ...

  6. 系统自己弹出诸如 kernel:NMI watchdog: BUG: soft lockup - CPU#2 stuck for 26s [mysqld:2875]

    系统在没有人使用的情况下自己弹出诸如以下关于内核的报错 [root@bkce tmp]# Message from syslogd@bkce at Oct 13 14:25:00 - kernel:N ...

  7. 活久见 kernel:NMI watchdog: BUG: soft lockup - CPU#8 stuck for 28s! [xsoftdd/12:0]

    1. 引入 在一台linux机器上工作,没敲入任何命令,但命令行里突然出现 "kernel:NMI watchdog: BUG: soft lockup - CPU#8 stuck for ...

  8. 有关于Vmware使用复制虚拟机时,报错BUG:soft lock -CPU#0 stuck for 67s!

    有关于Vmware使用复制虚拟机时,报错BUG:soft lock -CPU#0 stuck for 67s! 问题描述 本人电脑的配置是R5 3600 +TUF B450M-plus Gaming, ...

  9. ubuntu:“NMI watchdog: BUG: soft lockup-CPU#0 stuck for 22s“

    目录 一.问题描述 二.解决方法 三.问题分析 一.问题描述 NMI watchdog: BUG: soft lockup - CPU#2 stuck for 22s![migration/2:18] ...

最新文章

  1. R语言主成分分析PCA和因子分析EFA、主成分(因子)个数、主成分(因子)得分、主成分(因子)旋转(正交旋转、斜交旋转)、主成分(因子)解释
  2. 微型激光投影廉价版本
  3. boost::io::ostream_joiner模块相关的测试程序
  4. php 函数 配置文件,php的几个配置文件函数
  5. 嘉年华回顾丨PingCAP CEO 刘奇,带你探寻TiDB...
  6. 微信分享到朋友圈onMenuShareTimeline成功后的回调函数在某系ios手机下不执行的问题...
  7. linux服务器配置python环境_服务器python环境配置福利,CentOS ,Linux 一键下载python3和环境配置...
  8. gromacs 安装_GROMACS:粗粒化力场建立和模拟上线!
  9. Docker必备国内镜像
  10. c++求两点的距离利用友元_「20525」高中数学:“二面角”和“点到平面的距离”的通解...
  11. Atitit. .net c# web 跟客户端winform 的ui控件结构比较
  12. RSS阅读器Reeder简单使用攻略
  13. MediaWiki搭建指导
  14. 解决安装tensorflow-gpu:ImportError: DLL load failed:找不到指定的模块。从根源解决问题
  15. request.getParameter();的作用
  16. 常用JSON工具类JsonUtil封装
  17. 计算机三级网络技术知识点
  18. Linux常见问题及解决方案
  19. unity虚拟仿真PC端需要掌握的技术
  20. 移动音乐播放平台-酷狗音乐2021提供下载

热门文章

  1. C++ 多态实现机制
  2. 神经网络训练集两张图片之间的相互作用
  3. 【UGV】Mec 麦轮版小车驱动程序示例
  4. 【小项目关键技术二】UGV电机编码测速
  5. 6.2 K-Means 算法步骤-机器学习笔记-斯坦福吴恩达教授
  6. Linux 下 Jni 实现
  7. html点击区域,求助HTML+CSS可以点击区域外关闭实现。
  8. 二维大地电磁有限元数值模拟矩形+线性插值
  9. 汇编指令:LDM、STM详解
  10. linux设备支持ntfs类型U盘笔记