There are no translations available.

Debug Sessions - LDAP-Server

In einem Kundensetup wurde ich mit der Webmailer-Suche im persönlichen Adressbuch konfrontiert, die statt des Suchergebnisses einen Fehler produziert.

Trotz des Fehlers beim Suchen, wurde die Kontaktliste korrekt angezeigt. Dies ließ darauf schließen, dass der Scalix IMAP-Server richtig arbeitet, denn über dieses Protokoll werden die Einträge beim Klick auf den Kontakte-Ordner, aus dem Server ausgelesen. Die Suche jedoch verwendet eine LDAP-Anfrage. Deshalb setzte ich als ersten Schritt, um den Fehler einzugrenzen, eine Suche auf der Kommandozeile ab. Dies mit einem von Scalix unabhängigen Standard LDAP-Werkzeug.

> ldapsearch -D "cn=Full Name, o=Scalix" -b "o=MyContacts" -x -W

# extended LDIF
#
# LDAPv3
# base <o=MyContacts> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
Error: omldap died

Anstatt der Liste mit Verzeichnis-Einträgen präsentierte das Kommando einen LDAP-Fehler, was eine Kontrolle mit omshowlog bestätigte.

> omshowlog

SERIOUS ERROR LDAP Daemon (LDAP Engine )
[OM 10272] BACKTRACE:
/opt/scalix/lib/libom_er.so(er_add_backtrace+0xb9)[0xf7eb3d89]
/opt/scalix/lib/libom_er.so[0xf7eb4056]
/opt/scalix/lib/libom_er.so(er_DumpProcAndExit+0x1f)[0xf7eb41df]
[0xffffe500]
/opt/scalix/lib/libom_mim.so(mim_parse_address+0x1d7)[0xf7bf56a7]
[0x353d4231]
Last Msg Id: LE22EDB8407074884BFC0AAE023A0EB0F.1232646104
Last Msg DirectRef: 00072bc3fb591d7c

Der entscheidenden Hinweis ist in der letzten Zeile zu finden. Die DirectRef, die Referenz des Objektes, welches den LDAP-Server zum Absturz bringt. Nun kann der fehlerhafte Kontakt ausfindig gemacht werden. Dies geschieht in zwei Schritten. Zunächst wird die Folder-ID des Kontakte-Ordners ermittelt.

> sxmboxlist -u "Full Name" | grep Kontakte

F-0015235124 Kontakte

Jetzt wird in dem ermittelten Ordner nach der ermittelten Referenz gesucht.

> sxmboxlist -u "Full Name" -f F-0015235124 -v msg -r | grep 00081a3d67115770

00081a3d67115770 Harry Hirsch 2005-01-13 06:44:06 Intelego

Nun konnte der defekte Eintrag im Webmailer einfach ausfindig gemacht und korrigiert werden. Der LDAP-Server störte sich an einem Sonderzeichen, welches in einem der Kontakt-Attribute verwendet wurde. Nach der Korrektur funktionierte die Suche wieder tadellos.


zurück