Reputation: 1
I'm trying to find a bug in a linux-daemon written in C. The daemon is supposed to run in an endless loop answering requests. Once in a while it just stops for no apparent reason. No coredump is created. No kernel-segfault message is written to /var/log/messages
We already know that the death of the process is caused by certain requests but I cannot find the location within the source where the bug happens.
Here's what I did so far:
This all makes me believe, that the problem is not caused by a wrong pointer. Every exit()-statement is preceeded by syslog()-statements, so it's not the process that stops itself. And there are no users on this system that might kill the process.
What else might kill a unix process without a coredump ???
Peter
Upvotes: 0
Views: 81
Reputation: 9113
The default handler of some signal.
If this is a daemon, it probably handles some network communications. By default, socket operations may raise SIG_PIPE signals. The default handler just exits the program.
Make sure you ignore SIG_PIPE.
Upvotes: 1