The simple way to get a core that "starts" at the fault is not to block signals. Obviously this has some very bad downsides.
Otherwise with what you have done you have to traverse stack frames back to the problem, in gdb this is the
command. Signal receipt when blocked causes an immediate interrupt to the executing code, pushing the state of the process and kernel onto the interrupt stack. Working backwards can be fun.
Some example code for gaddr2line():
Note that you should consider libelf instead of the python library.
I am using dbx for debugging core and the corresponding command for backtrace is where in dbx. But as I said earlier I am getting the stack of signal handler routine through backtrace and not the location of faulty code.
Hi,
Is there anything you can do to a *nix (SuSE Linux actually) which allows it to *try* to do a reboot if something crashes the system?
I know they have something at work (but I don't work with the servers myself) which makes the server reboot if it crashes/locks (works about 80% of the... (0 Replies)
Hi there,
I found a link to a file /dev/core of 17 GB
Is it ok??? I couldn't find many information about it.
Any suggestion would be appreciated!!!
Thanks in advance,
Giordano Bruno
PS: I'm working with FEDORA 6 (2 Replies)
Hi All,
I have scenario where my callback function data_update() can be called anytime. I have written the function data_update() such that it will create detached thread for processing the data sent to this function.
data_update()
{
pthread_attr_t attr_thread;
... (1 Reply)
I´m writing this program in QNX , I`m kinda new to UNIX and programing in general, and when I try to run it it gives me the Memory Fault error. Can anyone help?
#include <stdio.h>
#include <fcntl.h>
void main(void)
{int a,ter;
char buf;
printf("a=");
scanf("%d",a);
ter=open... (6 Replies)
in a single main() function,so need signal handling. Use Posix Message Queue IPC mechanism , can ignore the priority and other linked list message,to implement the scenario:
client:Knock Knock
server:who's there
client: Eric
Server:Eric,Welcome.
client:exit
all process terminated
... (1 Reply)
Greetings,
I am writing a small program in C on UNIX, in which I am using (POSIX reliable) signals.
1. Suppose I have a signal : SIGX, and the corresponding signal handler : sigx_handler.
It is possible to receive SIGX in my process, and, while executing sigx_handler, to receive
again... (0 Replies)
I am in process of writing a library which can make any application of my product capable of creating core in the application's log folder with a product friendly core file name programatically. In my library I am registering for certain signals e.g. SIGILL, SIGFPE, SIGBUS, SIGSEGV, SIGSYS, SIGABRT... (1 Reply)
What will happen if signal comes while a system call is being executed?
How it will be handled? (1 Reply)
Discussion started by: rupeshkp728
1 Replies
LEARN ABOUT BSD
savecore
SAVECORE(8) System Manager's Manual SAVECORE(8)NAME
savecore - save a core dump of the operating system
SYNOPSIS
savecore dirname [ system ]
DESCRIPTION
Savecore is meant to be called at the end of the /etc/rc file. Its function is to save the core dump of the system (if one was made) and
to write a reboot message in the shutdown log.
It saves the core image in the file dirname/core.n and its corresponding namelist in dirname/unix.n. The second argument is the namelist
for the system which made the core image; the current system is always assumed to be /unix. The trailing ".n" in the pathnames is replaced
by a number which grows every time savecore is run in that directory.
Before savecore writes out a core image, it reads a number from the file dirname/minfree. If there are fewer free blocks on the file sys-
tem which contains dirname than the number obtained from the minfree file, the core dump is not done. If the minfree file does not exist,
savecore always writes out the core file (assuming that a core dump was taken).
Savecore also writes a reboot message in the shut down log. If the system crashed as a result of a panic, savecore records the panic
string in the shut down log too.
If savecore detects that the system time is wrong because of a crash (the time in the core image is after the current time), it will reset
the system time to its best estimate of the time, which is the time in the core image plus the elapsed time since the reboot. It announces
the time that it set when this occurs.
FILES
/usr/adm/shutdownlogshutdown log
/unix current UNIX
BUGS
The method used to determine whether a dump is present, and to prevent the same core image from being saved multiple times, is not elegant.
This information should be passed to init by the system; however, this is difficult because the system may have to be rebooted a second
time if the root filesystem is patched.
3rd Berkeley DistributionSAVECORE(8)