Difference between revisions of "389"

From A-Eskwiki
Jump to: navigation, search
(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:
= 389 Directory Server =
 
 
 
== 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 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