What is SEGV_MAPERR?

元气小坏坏 提交于 2019-11-27 17:22:49

There are two common kinds of SEGV, which is an error that results from an invalid memory access:

  1. A page was accessed which had the wrong permissions. E.g., it was read-only but your code tried to write to it. This will be reported as SEGV_ACCERR.
  2. A page was accessed that is not even mapped into the address space of the application at all. This will often result from dereferencing a null pointer or a pointer that was corrupted with a small integer value. This is reported as SEGV_MAPERR.

Documentation of a sort (indexed Linux source code) for SEGV_MAPERR is here: http://lxr.free-electrons.com/ident?i=SEGV_MAPERR.

Sev

It's a segmentation fault. Most probably a dangling pointer issue, or some sort of buffer overflow.

SIGSSEGV is the signal that terminates it based on the issue, segmentation fault.

Check for dangling pointers as well as the overflow issue.

Enabling core dumps will help you determine the problem.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!