On Wed, Mar 03, 2010 at 03:48:13PM +0100, Stefan Jakob wrote:
Hi Ondrej,
Am 02.03.2010 08:09, schrieb Ondrej Zajicek:
Hmm, we don't have any such bugreports. I would suggest to run bird/bird6 with enabled core dumps (ulimit -c unlimited) and non-stripped (with debug symbols, stripping is done by 'make install', just copy the binary after 'make', non-stripped binary ~ 1 MB, stripped ~ 300 kB). In the case of a crash, if you send me the core dump and the bird binary, it usually allows to locate and fix the problem.
Where will the dumps be stored?
It depends on OS and its configuration, usually in the current working directory of the dumped process.
Is there anything else to do to activate core dumps than setting a core dump size?
This should be enough. The ulimit is process-specific (and it is inherited from the parent) and therefore should be set for BIRD in bird starting scripts. If you have some testing environment, you could try to send signal SIGABRT (kill -ABRT) to the BIRD to test it (this would lead to abort and core dump).
Currently I limited the dump size to:
core file size (blocks, -c) 10000
Since our daemon is consuming about 4,8GB of RAM I don't want to set unlimited core dump size.
Do you thing that is sufficient?
I think that it is not enough, because the most important info (the stack) is at the end of the address space and i think that the system in that case would store the first 10000 blocks. Therefore, i would expect that it is needed to have the full core dump. BTW, on what OS (Linux or some BSD) are you running BIRD? -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."