mirror of https://github.com/Icinga/icinga2.git
Docs: Add a development chapter for writing core dump files
fixes #12648
This commit is contained in:
parent
df9710cfcb
commit
19b330f86b
|
@ -238,3 +238,71 @@ Breakpoint Example:
|
|||
m_Data = "/etc/icinga2/conf.d/satellite.conf"}, {static NPos = 18446744073709551615, m_Data = "/etc/icinga2/conf.d/services.conf"}, {static NPos = 18446744073709551615,
|
||||
m_Data = "/etc/icinga2/conf.d/templates.conf"}, {static NPos = 18446744073709551615, m_Data = "/etc/icinga2/conf.d/test.conf"}, {static NPos = 18446744073709551615,
|
||||
m_Data = "/etc/icinga2/conf.d/timeperiods.conf"}, {static NPos = 18446744073709551615, m_Data = "/etc/icinga2/conf.d/users.conf"}}
|
||||
|
||||
|
||||
## <a id="development-debug-core-dump"></a> Core Dump
|
||||
|
||||
When the Icinga 2 daemon crashes with a `SIGSEGV` signal
|
||||
a core dump file should be written. This will help
|
||||
developers to analyze and fix the problem.
|
||||
|
||||
### <a id="development-debug-core-dump-limit"></a> Core Dump File Size Limit
|
||||
|
||||
This requires setting the core dump file size to `unlimited`.
|
||||
|
||||
Example for Systemd:
|
||||
|
||||
vim /usr/lib/systemd/system/icinga2.service
|
||||
|
||||
[Service]
|
||||
...
|
||||
LimitCORE=infinity
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
systemctl restart icinga2
|
||||
|
||||
Example for init script:
|
||||
|
||||
vim /etc/init.d/icinga2
|
||||
...
|
||||
ulimit -c unlimited
|
||||
|
||||
service icinga2 restart
|
||||
|
||||
Verify that the Icinga 2 process core file size limit is set to `unlimited`.
|
||||
|
||||
cat /proc/`pidof icinga2`/limits
|
||||
...
|
||||
Max core file size unlimited unlimited bytes
|
||||
|
||||
|
||||
### <a id="development-debug-core-dump-format"></a> Core Dump Kernel Format
|
||||
|
||||
Adjust the coredump kernel format and file location.
|
||||
|
||||
vim /etc/sysctl.conf
|
||||
|
||||
kernel.core_pattern = /var/lib/cores/core.%e.%p
|
||||
|
||||
sysctl -p
|
||||
|
||||
mkdir /var/lib/cores
|
||||
|
||||
|
||||
### <a id="development-debug-core-dump-analysis"></a> Core Dump Analysis
|
||||
|
||||
Once Icinga 2 crashes again a new coredump file will be written. Please
|
||||
attach this file to your bug report in addition to the general details.
|
||||
|
||||
Simple test case for a `SIGSEGV` simulation with `sleep`:
|
||||
|
||||
ulimit -c unlimited
|
||||
sleep 1800&
|
||||
[1] <PID>
|
||||
kill -SEGV <PID>
|
||||
gdb `which sleep` /var/lib/cores/core.sleep.<PID>
|
||||
(gdb) bt
|
||||
rm /var/lib/cores/core.sleep.*
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue