[Buildroot] No core dump when killed with ABRT, SEGV, etc.

Grant Edwards grant.b.edwards at gmail.com
Tue Mar 26 17:01:46 UTC 2013


On 2013-03-26, Peter Korsgaard <jacmet at uclibc.org> wrote:
>>>>>> "Grant" == Grant Edwards <grant.b.edwards at gmail.com> writes:
>
> Grant> I get a proper core dump if a program actually causes a segfault, but
> Grant> I can't figure out how to force a coredump by killing a running
> Grant> process.
>
> Grant> On my desktop machines with glibc, this generates a core dump:
>
> Grant> tty1:
>
> Grant>    $ ulimit -c 9999999
> Grant>    $ <start program>
>
> Grant> tty2:    
> Grant>    $ kill -ABRT <pid>
>  
> Grant> On my buildroot system, there's no core dump.  The program is aborted
> Grant> as expected, but it doesn't dump a core file.  If the same program
> Grant> tries to actually dereference a NULL pointer there is a core dump.
>
> Grant> Why doesn't killing a process with SIGABRT or SIGSEGV cause a core
> Grant> dump?
>
> Are you using busybox init? If so, ensure you have
> FEATURE_INIT_COREDUMPS enabled and a /.init_enable_core file in your
> rootfs:

I don't have that set, but I don't think it would matter.

I'm starting the program from the command line in a tty as show above
after running the ulimit command to enable core dumps.  When I do
that, I get a core dump if the program itself causes a segfault, but
not if the program is killed with ABRT or SEGV signals.

The FEATURE_INIT_COREDUMPS just does the equivalent of the ulimit -c
command, right?   Am I misunderstanding what FEATURE_INIT_COREDUMPS
does?

-- 
Grant Edwards               grant.b.edwards        Yow! ... bleakness
                                  at               ... desolation ... plastic
                              gmail.com            forks ...



More information about the buildroot mailing list