Difference between revisions of "389"
From A-Eskwiki
(Created page with "= 389 Directory Server = == Debugging == Er gebeuren af en toe gekke dingen met [http://directory.fedoraproject.org/ dirsrv]. Om die gekke dingen te kunnen debuggen moet je...") |
|||
Line 1: | Line 1: | ||
− | |||
− | |||
== Debugging == | == Debugging == | ||
Line 7: | Line 5: | ||
*Installeer debuginfo: <code>debuginfo-install 389-ds-base</code> | *Installeer debuginfo: <code>debuginfo-install 389-ds-base</code> | ||
*Zorg ervoor dat suid-binaries een coredump mogen doen: <code>sysctl -w fs.suid_dumpable=1</code> | *Zorg ervoor dat suid-binaries een coredump mogen doen: <code>sysctl -w fs.suid_dumpable=1</code> | ||
− | *Voeg <code>LimitCORE=infinity</code> toe aan <code>/etc/sysconfig/dirsrv.systemd</code> en doe een <code>systemctl daemon-reload</code> | + | *Voeg <code>LimitCORE=infinity</code> toe aan <code>/etc/sysconfig/dirsrv.systemd</code> en doe een <code>systemctl daemon-reload</code> |
*Herstart dirsrv: <code>systemctl restart dirsrv.target</code> | *Herstart dirsrv: <code>systemctl restart dirsrv.target</code> | ||
Line 13: | Line 11: | ||
'''Beknopte stacktrace''' | '''Beknopte stacktrace''' | ||
+ | |||
gdb -ex 'set print frame-arguments' -ex 'set confirm off' -ex 'set pagination off' -ex 'thread apply all bt' -ex 'quit' /usr/sbin/ns-slapd /var/log/dirsrv/slapd-INSTANCENAME/core.PID > stacktrace.`date +%s`.txt 2>&1 | gdb -ex 'set print frame-arguments' -ex 'set confirm off' -ex 'set pagination off' -ex 'thread apply all bt' -ex 'quit' /usr/sbin/ns-slapd /var/log/dirsrv/slapd-INSTANCENAME/core.PID > stacktrace.`date +%s`.txt 2>&1 | ||
'''Complete stacktrace''' | '''Complete stacktrace''' | ||
+ | |||
gdb -ex 'set print frame-arguments' -ex 'set confirm off' -ex 'set pagination off' -ex 'thread apply all bt full' -ex 'quit' /usr/sbin/ns-slapd /var/log/dirsrv/slapd-INSTANCENAME/core.PID > stacktrace.`date +%s`.txt 2>&1 | gdb -ex 'set print frame-arguments' -ex 'set confirm off' -ex 'set pagination off' -ex 'thread apply all bt full' -ex 'quit' /usr/sbin/ns-slapd /var/log/dirsrv/slapd-INSTANCENAME/core.PID > stacktrace.`date +%s`.txt 2>&1 | ||
− | |||
− | |||
[[Category:Sysop]] [[Category:Software]] | [[Category:Sysop]] [[Category:Software]] |
Revision as of 16:55, 23 June 2015
Debugging
Er gebeuren af en toe gekke dingen met dirsrv. Om die gekke dingen te kunnen debuggen moet je de volgende dingen doen:
- Installeer debuginfo:
debuginfo-install 389-ds-base
- Zorg ervoor dat suid-binaries een coredump mogen doen:
sysctl -w fs.suid_dumpable=1
- Voeg
LimitCORE=infinity
toe aan/etc/sysconfig/dirsrv.systemd
en doe eensystemctl daemon-reload
- Herstart dirsrv:
systemctl restart dirsrv.target
Als er nu problemen optreden waarbij 389 crasht wordt er een coredump gegenereerd in /var/log/dirsrv/slapd-$INSTANCENAME/core.$PID
. Coredumps zijn leuk, maar zonder gdb heb je er vrij weinig aan. Gebruik de volgende commando's om (bruikbare) informatie te genereren uit de dump:
Beknopte stacktrace
gdb -ex 'set print frame-arguments' -ex 'set confirm off' -ex 'set pagination off' -ex 'thread apply all bt' -ex 'quit' /usr/sbin/ns-slapd /var/log/dirsrv/slapd-INSTANCENAME/core.PID > stacktrace.`date +%s`.txt 2>&1
Complete stacktrace
gdb -ex 'set print frame-arguments' -ex 'set confirm off' -ex 'set pagination off' -ex 'thread apply all bt full' -ex 'quit' /usr/sbin/ns-slapd /var/log/dirsrv/slapd-INSTANCENAME/core.PID > stacktrace.`date +%s`.txt 2>&1