389

From A-Eskwiki
Revision as of 16:54, 23 June 2015 by Jitse (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

389 Directory Server

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 een systemctl 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