On Thu, 12 Apr 2007 22:22:18 -0400 Christopher S. Aker wrote:
Alan Cox wrote:
> Indeed. So useful that in current kernels you can set the core dump
> path to be
>
> "|application"
Cool stuff! However, it's not working (2.6.20.6):
Core dump to |/home/caker/bin/dumper.pl.4442 pipe failed
even though...
# cat /proc/sys/kernel/core_uses_pid
0
# cat /proc/sys/kernel/core_pattern
|/home/caker/bin/dumper.pl
Looking at the code, it seems to me that format_corename() is appending .pid, regardless if !core_uses_pid and corename[0]=='|', in which case it creates an invalid path for call_usermodehelper_pipe().
Bug in the code, or bug in my methods?
What are you trying to dump? is it a multi-thread group app,
not a "simple" app? I ask because of this (I'm looking at 2.6.21-rc6)
<mm_users> reference (not that I know what that is):
if (!pid_in_pattern
&& (core_uses_pid || atomic_read(¤t->mm->mm_users) != 1)) {
rc = snprintf(out_ptr, out_end - out_ptr,
".%d", current->tgid);
if (rc > out_end - out_ptr)
goto out;
out_ptr += rc;
}