I'm working on Linux 4.0.6, and I've activated the coredump and using %e.core pattern. On my machine I see <unset>.core in the core folder. Can someone explain me what does <unset> mean and how can I prevent this?
- Read more about proc(5)Basile Starynkevitch– Basile Starynkevitch2017-07-18 11:06:04 +00:00Commented Jul 18, 2017 at 11:06
1 Answer
%e in the core pattern maps to the executable filename, which is essentially equivalent to the comm field in /proc. Under some circumstances, this field in the internal process structure in the kernel can be empty (namely, if argv[0] is an empty string, and for a very short period of time during a fork() call), and if the process crashes while that is the case, you can get a core file with a name like you specified. For what it's worth, I have found that %E (the executable path) is a bit more reliable, as that can't be manipulated by the process itself.