Main dump for Java spawned process

My Java (Eclipse) application creates a child process, monitors its stdout stream and exit value. When the child process crashes with SIGABRT, no kernel dump file is generated. If I start the child process manually and kill it, the core dump is fine there.

I couldn't find any information on how the JVM prepares the child process in some way (for example, by setting the kernel dump file size to 0).

Does anyone know what might happen and what parameters to change to create kernel dumps?

It's on Suse 10 and Ubuntu 9.04, with Java 5 and 6, if that matters.

Best wishes Vlad

+2


source to share


1 answer


Usually, the (non) creation of kernel files is controlled by a command ulimit

(in particular, ulimit -c). See help ulimit

(in bash) for details .

This parameter must be inherited from shell to subshell, so Java must use the parameter in the shell it was started from. Java can get confused with ulimit, but I've never heard of it done.



Try setting ulimit in the shell and then open your Java process. If that doesn't help, you can call a shell script from Java that sets the ulimit and then runs your program.

+3


source







All Articles