http://chenwenming.blog.51cto.com/327092/1322103

内核日志经常会出现以下报错.

nginx-payment-n[29580]: segfault at 000000010000000f rip 00000039cd008d10 rsp 00007fff4bbb08f8 error 4

nginx-payment-n[29500]: segfault at 000000010000000f rip 00000039cd008d10 rsp 00007fff4bbb08e8 error 4

nginx-payment-n[29615]: segfault at 000000010000000f rip 00000039cd008d10 rsp 00007fff4bbb08f8 error 4

nginx-payment-n[29599]: segfault at 000000010000000f rip 00000039cd008d10 rsp 00007fff4bbb08f8 error 4

nginx-payment-n[29573]: segfault at 000000010000000f rip 00000039cd008d10 rsp 00007fff4bbb08f8 error 4

nginx-payment-n[29628]: segfault at 000000010000000f rip 00000039cd008d10 rsp 00007fff4bbb08f8 error 4

nginx-payment-n[29643]: segfault at 000000010000000f rip 00000039cd008d10 rsp 00007fff4bbb08f8 error 4

nginx-payment-n[29736]: segfault at 000000010000000f rip 00000039cd008d10 rsp 00007fff4bbb08f8 error 4

nginx-payment-n[29660]: segfault at 000000010000000f rip 00000039cd008d10 rsp 00007fff4bbb08f8 error 4

这种信息一般都是由内存访问越界造成的,不管是用户态程序还是内核态程序访问越界都会出core, 并在系统日志里面输出一条这样的信息。这条信息的前面分别是访问越界的程序名,进程ID号,访问越界的地址以及当时进程堆栈地址等信息,比较有用的信息是 最后的error number.
在上面的例子中,error number是4, 转成二进制就是110, 即bit2=1, bit1=0, bit0=0, 按照上面的解释,我们可以得出这条信息是由于用户态程序读操作访问越界造成的。
error number是由三个字位组成的,从高到底分别为bit2 bit1和bit0,所以它的取值范围是0~7.
bit2: 值为1表示是用户态程序内存访问越界,值为0表示是内核态程序内存访问越界
bit1: 值为1表示是写操作导致内存访问越界,值为0表示是读操作导致内存访问越界
bit0: 值为1表示没有足够的权限访问非法地址的内容,值为0表示访问的非法地址根本没有对应的页面,也就是无效地址

内存不足不会引起段错误。段错误通常出现在访问了非法的地址后,非法地址分为3类:
1. 访问的地址没有对应的物理内存。这类错误主要出现在越界访问,例如栈越界。比如说当前进程的栈只有5个页和它对应,共20k大小(x86平台),你访问的地址超过了这个范围,就会发生segmentation fault。

2.对地址的操作与该地址的属性不符合。例如该地址对应的内存是只读的,如文本段,你却试图进行写操作。

3.低权限访问高权限地址。这类情况发生在用户进程试图访问内核空间。例如x86中,TASK_SIZE以上的地址为内核空间,当用户态进程试图访问这些地址时,segmentation fault。********************

segfault at XXX rip XXX rsp XXX error 4 错误相关推荐

  1. segfault at xxx rip xxx rsp xxx error 4(合并整理)

    通过 sudo cat /var/log/messages |grep segfault 或者 sudo dmesg|grep segfault 获得 这种信息一般都是由内存访问越界造成的,不管是用户 ...

  2. 解决error while loading shared libraries: xxx.so.x类似问题办法和错误原因

      解决error while loading shared libraries: xxx.so.x"类似问题办法和错误原因 编译Tengine时,执行make命令,出现以下错误: erro ...

  3. 解决webpack报错:ERROR in multi ./xxx/xxx.js ./xxx/xxx.js Module not found: Error: Can't resolve '.\xxx\

    问题描述 初次使用webpack打包 报了一个鲜红的异常: ERROR in multi ./xxx/xxx.js ./xxx/xxx.js Module not found: Error: Can' ...

  4. Couldn't register com.zyg.ios.XXX with the bootstrap server. Error: unknown error code.

    运行应用突然崩溃,然后再次运行就出现了如下错误: Couldn't register com.zyg.ios.XXX with the bootstrap server. Error: unknown ...

  5. Error:(8,16) java: 找不到符号和Error:(9, 15) java: 找不到符号符号:类 xxx位置:程序包 xxx.xxx

    昨天晚上遇到的一个bug,写了一个main方法,发现执行的时候老师报:Error:(15,8) java: 找不到符号和Error:(9, 15) java: 找不到符号符号:类 xxx位置:程序包 ...

  6. git 问题解决之remote: Permission to xxx/xxx.git denied to xxx.

    Git问题总结: 1.$ git push origin :dev-xx remote: Permission to xxx/xxx.git denied to xxx. fatal: unable ...

  7. 在Ubuntu下,编译Kernel报错:Makefile:xxx: recipe for target 'xxx' failed

    **在Ubuntu下,编译Kernel报如下错误:** Makefile:xxx: recipe for target 'xxx' failed make[2]:***[arch/arm/boot/c ...

  8. remote: Permission to xxx.git denied to xxx. fatal: unable to access 'https://github.com/xxx.git/':

    remote: Permission to xxx.git denied to xxx. fatal: unable to access 'https://github.com/xxx.git/': ...

  9. TFS2010映射工作区问题 路径 XXX 已在工作区 XXX;XXX 中映射

    路径 XXX 已在工作区 XXX;XXX 中映射 原因:之前用别的用户登录工作区并映射到该路径. 解决办法:再用之前的用户登录工作区取消映射即可. 备忘:在文件 C:\Documents and Se ...

最新文章

  1. 概率论中指数分布介绍及C++11中std::exponential_distribution的使用
  2. The genome polishing tool POLCA makes fast and accurate corrections in genome assemblies
  3. Nginx多站点设置
  4. OKEx比特币现金震荡 巴西央行公布新区块链项目
  5. 物料价格分析取未分摊和未分配价格差异
  6. 友声电子秤设置软件_友声电子秤说明书/操作指南?(一)
  7. 取文字_把这4个字母输入word,会得到一段神秘文字,承载着一段历史
  8. elementUI多选框组件:多选数组,取值问题
  9. beyond唱片_如何数字化您的唱片
  10. 企业内网安全十大防护策略
  11. linux系统外接硬盘_如何使用外部硬盘安装linux系统?
  12. SAS的win10 64位安装过程
  13. 【每日爬虫】:生产者与消费者模式爬取王者荣耀壁纸
  14. uva11045(最大二分图匹配)
  15. 不良意志品质及其克服
  16. 安卓移动开发实验:Android Studio设计微信界面
  17. 苹果新款笔记本_微软为Bing桌面体验也带来了语音搜索功能_苹果 新款MacBook Pro 13英寸_笔记本新闻...
  18. 黑莓android驱动程序,黑莓管理器可让用户在任何Android设备上安装黑莓应用
  19. NBA表格_练篮球是该多看NBA还是网上篮球教程
  20. 碎片化的时代,我们如何避免被信息瓦解

热门文章

  1. ROG检测不到WIFI信号
  2. 家长控制与火绒的结合——限制电脑与手机娱乐
  3. 闭包的概念,作用,和优缺点
  4. MSDN SmartCast更改下载步骤
  5. 手机内存不够大的请进!!!让你的sd卡变成手机内存
  6. python离线安装pip.whl_安装pip,whl文件
  7. 新版idea右下角没有小人头的解决设置
  8. java 实现微信支付宝支付
  9. TerminateProcess实现关闭任意程序
  10. 笔记-NopCommerce系统架构分析-引擎和依赖管理IOC