[erlang-bugs] heart prevents beam from creating crash dumps

Mon Aug 27 21:43:14 CEST 2012

some thoughs :

as far 'heart' is child of erl, getppid() is not equal to 1 until the
parent process exits.

we can imagine that the crashdump is created by 'erl' process as
crashdump.{pid} before to be renamed to final name by 'heart' process .

'heart' process is able to see that crashdump.{pid} is increasing in
size while its parent is not 1 .

if its parent becomes 1 , the 'heart' process renames itself the file to
final name before restarting the erl command.

If the size does not change for the HEART_BEAT_TIMEOUT timeout while
parent is not 1, maybe the parent is a zombi. 'heart' kill SIGKILL its
parent and restart the erl process.

imply that the delay of restart can be twice the HEART_BEAT_TIMEOUT in
case of a zombi parent,
or any time otherwise (the time the crashdump is created).
this is not maybe what it is expected by lot of people.

in such case a  -safeheart option could be created for this...

I don't know if such behaviour can be done on Windows ?


More information about the erlang-bugs mailing list