Core file getting corrupted

From: Nirendra Awasthi
Date: Tue Jun 08 2004 - 03:52:08 EST


Hi,

Sending SIBABRT (or any signal that causes core dump) to a process which is already having core dump results in corrupting core file.

Following is the output while analyzing core with gdb:

Reading symbols from /lib/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
#0 0xffffe411 in ?? ()

I created the process with large core, and on sending SIGABRT and SIGQUIT signal to process successively, "most" of the time core file gets corrupted.

Is there a way for a unrelated process to determine if another process is exiting and is in the state of having core dump, so it does not try to send another signal.



In solaris, this can be determined using libkvm(checking process flags for SDOCORE and COREDUMP). Is there a way to do this in linux 2.6

One of the things I observed is flag in /proc/<pid>/stat (9th attribute) is set to non-zero after process receives a signal to quit after core dump (SIGABRT, SIGQUIT etc.). Is it an indication that process is going to exit or what does it indicates.

-Nirendra

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/