Linux内核运行时错误:general protection fault
最近帮师兄做内核实验,错误不断,由于是修改的内核代码,所以经常遇到错误排查起来都比较麻烦,刚解决了一个问题下一个问题就又出现了。
直接上新问题的描述:general protection fault
这是通过dmesg打印出的保存信息,具体报错内容如下:
[ 133.160958] general protection fault: 0000 [#1] SMP PTI
……
[ 133.160992] Hardware name: Dell Inc. OptiPlex 5050/0DW5KY, BIOS 1.5.2 06/19/2017
[ 133.160995] RIP: 0010:do_change_submit+0x1f6/0x370
[ 133.160996] RSP: 0018:ffffad1d422dfe40 EFLAGS: 00010246
[ 133.160997] RAX: ffffad1d60001000 RBX: ffff925837fdbf40 RCX: 0000000002e2c43b
[ 133.160998] RDX: 0000000000000000 RSI: ffffad1d422dfe80 RDI: ffff925842e5a770
[ 133.160999] RBP: ffffad1d422dfec8 R08: 0000000000000001 R09: 000000000000152d
[ 133.161000] R10: ffff9257ff004000 R11: 000000000000152d R12: ffff925842e5a770
[ 133.161001] R13: ffffad1d424a3000 R14: fffe4960dff6fd00 R15: 0000000002e2c43b
[ 133.161002] FS: 0000000000000000(0000) GS:ffff92585dc00000(0000) knlGS:0000000000000000
[ 133.161005] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 133.161008] CR2: 0000000001073808 CR3: 000000010180a002 CR4: 00000000003606f0
[ 133.161012] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 133.161016] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
……
[ 133.161094] RIP: do_change_submit+0x1f6/0x370 RSP: ffffad1d422dfe40
[ 133.161096] ---[ end trace 0b4702beb2d502fa ]---
其中比较关键的可能就两处:
1、general protection fault
2、do_change_submit+0x1f6/0x370 RSP: ffffad1d422dfe40
dmesg打印出的,标红的信息尤其需要被注意!
这个general protection fault,看上去好像是保护出现异常,这也是我第一次遇到这种问题,也只有通过查阅资料来了解该如何解决,不过感觉应该也是和内存相关的报错。
通过搜索找到一个比较靠谱的解答:
名称:Linux内核报错“General protection fault”原因
地址:http://ilinuxkernel.com/?p=1388
在该博客中,主要可以获取的信息是:在Intel编程手册中指出,General protection fault中断号为13,表示内存访问或保护检查出现异常。
和之前的猜想一致,可能是内存方面的问题,然后再根据报错信息在函数do_change_submit中逐步排查,最终将问题定位为指针在移动的过程中访问了其他的区域。
针对这个问题将指针进行约束,使得General protection fault得到解决。
Linux内核运行时错误:general protection fault相关推荐
- linux内核损坏的原因,Linux内核报错“General protection fault”原因
在Linux系统中,偶尔遇到内核报告"General protection fault"或#GP Fault,然后panic,系统宕机.在Intel编程手册中指出,General ...
- general protection fault怎么办_法院离婚调解书我想办补充协议怎么办?-免费法律咨询...
离婚调解书有什么效力,不服离婚调解协议怎么办 离婚调解2018-05-16 12:10:40更新 在提起离婚诉讼的时候,法院为了化解双方的矛盾,让双方的感情有一个挽回的机会,都会安排调解.调解之后双方 ...
- Linux内核深入理解中断和异常(3):异常处理的实现(X86_TRAP_xx)
Linux内核深入理解中断和异常(3):异常处理的实现(X86_TRAP_xx) rtoax 2021年3月 /*** start_kernel()->setup_arch()->idt_ ...
- Linux内核深入理解中断和异常(2):初步中断处理-中断加载
Linux内核深入理解中断和异常(2):初步中断处理-中断加载 rtoax 2021年3月 1. 总体概览 关于idt_table结构的填充,在5.10.13中流程为: idt_setup_early ...
- Linux内核深入理解中断和异常(4):不可屏蔽中断NMI、浮点异常和SIMD
Linux内核深入理解中断和异常(4):不可屏蔽中断NMI.浮点异常和SIMD rtoax 2021年3月 本文介绍一下几种trap: //* External hardware asserts (外 ...
- Linux内存page,【原创】(十四)Linux内存管理之page fault处理
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...
- linux内核常用函数或宏
1. simple_strtoul 用于将字符串转换为无符号长整数,第3个参数10意味着转换方式是10进制. ival = simple_strtoul(buffer, NULL, 10); 2. 大 ...
- linux内核那些事之Memory protection keys(硬件原理)
mprotect/map原理及缺陷 <linux 关于虚拟内存的几个系统调用>,提及到用户程序可以通过mprotect或者map(MAP_FIXED)系统调用可以根据需要再次修改已经申请过 ...
- Linux内核深入理解中断和异常(1)
Linux内核深入理解中断和异常(1) rtoax 2021年3月 1. 中断介绍 内核中第一个子系统是中断(interrupts). 1.1. 什么是中断? 我们已经在这本书的很多地方听到过 中断( ...
最新文章
- 给自己的程序添加BugReport
- (27) java web的struts2框架的使用-基于表单的多文件上传
- c语言注释部分两侧的分界符号分别是,c语言中界定注释的符号分别是什么?
- Java中的13个原子操作类
- Thinkphp V5.X 远程代码执行漏洞 - POC(精:集群5.0*、5.1*、5.2*)
- 蔚来事故启示录:被夸大的和被误导的自动驾驶
- 【Http】PKIX(PKIX path building failed) 问题 unable to find valid certification path to requested target
- c语言用p1口进行转弯灯实验,P1.0口转弯灯程序 单片机IO口的应用
- 一位Erlang程序猿的自白
- 深度linux任务栏,Deepin系统的dde-dock任务栏出不来的有效解决方法
- java开发工作找不到要放弃吗,这样学习Java,才能找到一份Java开发的工作。不要盲目的学!...
- python面向对象实验报告_20192310 实验三《Python程序设计》实验报告
- 上周Asp.net源码(11.5-11.10)免费下载列表
- 用简单易懂的例子解释隐马尔可夫模型
- 支付宝第三方应用,用户登录授权获取信息
- 排列组合计算公式简易版
- win版石器和linux,石器时代私服架设教程Linux版
- detecting android sdk, Select Android SDK directory
- undefined reference to 的报错原因记录
- 令人恶心的小米和神州优车集团面试之旅
热门文章
- 湖北高校毕业生供需见面月首场招聘火爆开锣
- 米哈游新游正式公测!还没上线就已经“爆了”!
- mysql2ora datacopy,Oracle 11gR2 使用 RMAN duplicate from active database 复制数据库
- 图像相似性匹配 快速算法
- 改网站不存在cdn服务器,网站添加cdn加速服务器
- vscode打断点没反应_来自一个插件的疯狂夸赞,VS Code「彩虹屁」插件问世,网友:我想要郭德纲版...
- JAVA获取淮河实时的水质数据
- html5弹出层表单,layer弹出层实现表单提交
- 第155章 SQL函数 UPPER
- 七倍龙珠(sevenbead)