![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux Kernel Crash
文章平均质量分 85
浮沉飘摇
Linux C
展开
-
【CRASH】freelist异常导致的异常地址访问
slab分配器的freelist异常导致的crash问题分析原创 2024-06-16 06:45:31 · 1798 阅读 · 0 评论 -
[crash分析]诡异的指针地址被改写
最近遇到多次设备"general protection fault: 0000 [#1] SMP"错误。业务代码多个位置位置都出现过,甚至内核代码中都出现过,给定位带来很大难度,随着掌握的信息越来越多,最终将问题根源找到。前后大概折磨了一周多,直到最终定位才松了口气。最初几次是crash在Diff函数中,下面是其中一个crash栈信息://省略无关 #6 [ffff88008651fb30] general_protection at ffffffff8168f1a8 [exception R原创 2021-02-06 16:25:52 · 1437 阅读 · 0 评论 -
[crash分析]报文解密造成的系统crash
现网环境出现了crash,原因是"general protection fault: 0000 [#1] ",也就是说访问了异常地址导致。查看异常调用栈。//...省略部分 #6 [ffff88041fd43830] general_protection at ffffffff8168ef68 [exception RIP: put_page+10] RIP: ffffffff8118edaa RSP: ffff88041fd438e8 RFLAGS: 00010202原创 2020-09-10 23:06:29 · 708 阅读 · 0 评论 -
[crash分析]让我头疼了好久的一个dst_entry重复释放导致的crash问题
公司产品在升级后出现了crash,分析发现在释放skb时,skb->sp = ffff000000000011,不为NULL,在 secpath_put(skb->sp)时,地址访问异常crash。PID: 8233 TASK: ffff8800d0503ec0 CPU: 0 COMMAND: "in:imklog" #0 [ffff88011fc03710] machine_kexec at ffffffff81059bab #1 [ffff88011fc03770] __cr原创 2020-09-04 22:56:47 · 1376 阅读 · 0 评论 -
[crash分析]slab内存重叠导致的crash问题
公司设备升级新版本后,出现了crash,描述"general protection fault: 0000 [#1] SMP ",初步看来是访问了异常地址。异常栈如下:PID: 945 TASK: ffff880079231f60 CPU: 0 COMMAND: "config_t/0" #0 [ffff88001037f9d0] machine_kexec at ffffffff81059bab #1 [ffff88001037fa30] __crash_kexec at ffffff原创 2020-08-31 22:18:47 · 1656 阅读 · 0 评论 -
[softlockup crash分析]业务逻辑异常导致的deadloop
公司产品在线上运行中出现了softlockup导致的crash。crash> btPID: 23 TASK: ffff8801694a4e70 CPU: 3 COMMAND: "ksoftirqd/3" #0 [ffff88102d2c3cf0] machine_kexec at ffffffff81059beb #1 [ffff88102d2c3d50] __crash_kexec at ffffffff81105822 #2 [ffff88102d2c3e20] panic原创 2020-08-12 13:44:01 · 302 阅读 · 0 评论 -
[crash分析]cascade错误,最终发现是内核BUG
我们目前使用的是标准的CentOS 3.10.0-514.26.2版本。因为要做docker产品,为了测试设备可以支持多少个docker,我们使用脚本在设备上不断创建docker并运行我们的产品。但是我们发现每次到了290多个docker后,很快系统就crash了。crash栈大体上有两种:[ 1076.347341] ------------[ cut here ]------------[ 1076.361159] kernel BUG at kernel/timer.c:1105![ 107原创 2020-08-08 23:22:24 · 1668 阅读 · 0 评论 -
[crash分析]栈破坏分析总结
栈破坏的两种表现1. 栈帧被破坏栈帧被破坏,从寄存器上可以看到栈帧寄存器rbp异常。因为返回地址正常,所以我们能够看到返回地址函数。//栈帧被写坏后的栈表现[New LWP 31418]Core was generated by `./test1'.Program terminated with signal 11, Segmentation fault.#0 0x000000000040053b in test1 ()Missing separate debuginfos, use: d原创 2020-08-07 23:50:00 · 2864 阅读 · 0 评论 -
[crash分析]Kernel panic - not syncing: Aiee, killing interrupt handler!
公司产品升级后,测试发现下发某个配置失败时会导致系统crash。crash查看栈显示如下,没有有用信息。crash> btPID: 3348 TASK: ffff880175034e70 CPU: 3 COMMAND: "test.sh" #0 [ffff88016c063b38] machine_kexec at ffffffff81059beb #1 [ffff88016c063b98] __crash_kexec at ffffffff81105822 #2 [ffff88原创 2020-08-06 21:39:19 · 660 阅读 · 0 评论 -
[crash分析]“Kernel panic - not syncing: Aiee, killing interrupt handler”“BUG: scheduling while atomic“
PANIC信息不太常见,crash栈也没太多信息,COMMAND:“rmmod”提示可能是卸载模块时导致的crash。PID: 14829 TASK: ffff88007b478000 CPU: 0 COMMAND: "rmmod" #0 [ffff88004a157b38] machine_kexec at ffffffff81059bab #1 [ffff88004a157b98] __crash_kexec at ffffffff81105812 #2 [ffff88004a157c6原创 2020-07-05 22:16:37 · 784 阅读 · 0 评论 -
[crash分析]数组越界导致的导致的系统crash
公司设备在项目中遇到了crash问题,查看coredump,是最长前缀匹配的模块中处理异常导致。现象1:查询异常"general protection fault: 0000 [#1] SMP " [exception RIP: _test_ipset_seg_lpm_query+93] RIP: ffffffffa058ce9d RSP: ffff88016951f578 RFLAGS: 00010207 RAX: 80000010241c2865 RBX: ffff8原创 2020-06-23 22:44:30 · 1108 阅读 · 0 评论 -
[softlockup crash分析]一个和timer相关的死锁分析
设备crash,提示 PANIC: “Kernel panic - not syncing: softlockup: hung tasks” 。遇到这个要先确认是真死锁还是软中断执行时间过长被误判死锁。有个简单的办法区分,就是如果异常栈crash在锁等待,那么就是真死锁;如果crash在其他地方,大概率就是执行时间过长被误判死锁。查看异常栈:PID: 0 TASK: ffffffff819c5460 CPU: 0 COMMAND: "swapper/0" #0 [ffff88007f原创 2020-05-19 22:12:19 · 720 阅读 · 0 评论 -
[crash分析][mips]一个openwrt的patch引发的血案
公司mips设备在运行中总是会莫名的crash,crash点不确定,有在驱动中,有在socket处理中,等等。crash其一://...<4>[ 158.547434] Process ksoftirqd/0 (pid: 3, threadinfo=8fc62000, task=8fc50b20, tls=00000000)<4>[ 158.555684] St...原创 2020-04-24 23:21:41 · 2398 阅读 · 0 评论 -
[crash分析]因为HOOK okfn导致的NULL pointer dereference
设备启用业务模块,同时又创建了桥口转发docker业务。在调试过程中,出现crash。[ 794.020484] BUG: unable to handle kernel[ 794.022499] NULL pointer dereference at 0000000000000006[ 794.024455] IP: [<ffffffffa0330ee3>] br_nf_...原创 2020-03-25 10:54:16 · 633 阅读 · 0 评论 -
[crash分析][mips]CPU 0 Unable to handle kernel paging request at virtual address之2
openwrt定制低端设备,加载业务模块后很快就crash,之前帖子说过配置太低,所以系统异常crash后无法保存coredump,只有串口记录crash log供分析定位。crash log如下:[ 39.985393] CPU 0 Unable to handle kernel paging request at virtual address 78ddc304, epc == 802...原创 2020-03-03 14:21:39 · 1348 阅读 · 0 评论 -
[crash分析][mips]CPU 0 Unable to handle kernel paging request at virtual address
系统平台是mips 32位架构,openwrt定制系统。产品模块加载到内核中工作。因为是低端产品,硬件配置简陋,所以系统异常crash后无法保存coredump,只有串口记录crash log供分析定位。以下是最近遇到的一个crash:[ 293.152901] CPU 0 Unable to handle kernel paging request at virtual address ...原创 2020-02-29 14:22:13 · 2229 阅读 · 0 评论 -
[crash分析] Kernel panic - not syncing: Hard LOCKUP
KERNEL: /usr/lib/debug/lib/modules/3.10.0-514.26.2.el7.x86_64/vmlinux DUMPFILE: vmcore [PARTIAL DUMP] CPUS: 2 DATE: Sun Nov 17 05:56:07 2019 UPTIME: 1 days, 00:22:05...原创 2019-11-18 17:04:58 · 3411 阅读 · 0 评论