Issue
I have an ARM executable[ (Debug build) ELF 32 bit LSB executable, ARM version (SYSV)] process executing on ARM Cortex A9 target having Linux OS(KErnel 2.6.38.8 )
The process has user id root, groupid root.
Even when the process crashes after getting SIGSEGV, there is no core file generated.
Now I have read this question to ensure that the file system is writable, ulimit -c
is unlimited, user is root and has permissions, but still, something is missing.
Here are a few outputs of certain variables of my process and system, related to a core file creation:
cat /proc//coredump_filter is 00000033
cat /proc/sys/kernel/core_pattern is core
cat /proc/sys/kernel/core_uses_pid is 0
I have tried everything but am stumped.
Could there be any kernel config/build option disabling the core creation?
Any other pointers?
EDIT: I did simple test as below and it created a core file, but my process crash still does not dump core file.
sleep 20 &
killall -SIGSEGV sleep
Solution
Could there be any kernel config/build option disabling the core creation?
It is hidden under General Setup|Embedded System or General Setup|Configure standard... depending on your Linux version. The symbol value is ELF_CORE
and it is in init/Kconfig. If it is not enabled, you will never get core dumps.
As suggested in a hidden comment in why coredump file is not generated.
Answered By - artless noise Answer Checked By - Pedro (WPSolving Volunteer)