Udir-listener: change_update_dn: Can't contact LDAP server

Hallo *,

seit heute ~ 16:30 haben wir folgendes Problem, in den Logs unserer Server tauchen folgende Meldungen auf:

Aug 24 17:15:23 ucs univention-directory-listener: change_update_dn: Can’t contact LDAP server
Aug 24 17:15:54 ucs last message repeated 1789 times

Wenn man den univention-directory-listener im vordergrund startet (univention-directory-listener -F), dann sagt er folgendes:

root@ucs:/var/log# univention-directory-listener -F
24.08.09 17:19:28 DEBUG_INIT
24.08.09 17:19:28 LDAP ( ERROR ) : ldap_sasl_interactive_bind: Local error

Gibt es irgendeine Chance das weiter zu debuggen bzw. zu beheben?

Grüsse
Martin Söntgenrath

Vorher wurde noch eine Änderung an der slapd.conf vorgenommen, damit Benutzer selber Ihre private Kontaktadresse änderen können.

access to attrs="homePostalAddress,homePhone,mobile,univentionBirthday,jpegPhoto" by self write by * none break

Diese ACL wurde direkt unterhalb von

access to attrs="krb5Key,userPassword,sambaPwdCanChange,sambaPwdMustChange,sambaLMPassword,sambaNTPassword,sambaPwdLastSet,pwhistory,sambaPasswordHistory,krb5KDCFlags,krb5KeyVersionNumber,krb5PasswordEnd,shadowMax,shadowLastChange" by self write by * none break
eingepflegt. Kann diese Änderung irgendwas mit der Problematik zu tun haben? Selbst ein deaktivieren dieser ACL bringt nämlich keine Besserung.
Wenn man sich in der Webgui anmeldet, und dann auf z.B. Benutzer klickt, dann fliegt nachfolgende Exception:

[code] Fehler

Ein Python-Fehler ist aufgetreten:
Traceback (most recent call last):
File “/usr/share/univention-webui/modules/requests.py”, line 239, in run_request self.dialog.init(0,xmlout,xmlout.documentElement)
File “./unidialog.py”, line 63, in init uniconf.init(self,a,b,c)
File “/usr/share/univention-webui/modules/uniconf.py”, line 183, in init obj.init(input,xmlob,self.find_id(node,obj.id))
File “/usr/share/univention-webui/modules/uniconf.py”, line 162, in init self.myinit()
File “/usr/share/univention-directory-manager/uniconf/modwizard.py”, line 1462, in myinit self.find(self.save.get(“uc_virtualmodule”))
File “/usr/share/univention-directory-manager/uniconf/modwizard.py”, line 1054, in find result[searchposition.getDn()]=settings.filterObjects(univention.admin.modules.lookup(search_module,None, self.lo, superordinate=superob, base=bas, filter=filter, scope=scope, sizelimit=max_results-nresults))
File “/usr/lib/python2.4/site-packages/univention/admin/modules.py”, line 669, in lookup tmpres=module.lookup(co, lo, filter, base=base, superordinate=superordinate, scope=scope, unique=unique, required=required, timeout=timeout, sizelimit=sizelimit)
File “/usr/lib/python2.4/site-packages/univention/admin/handlers/users/user.py”, line 2796, in lookup res.append(object(co, lo, None, dn))
File “/usr/lib/python2.4/site-packages/univention/admin/handlers/users/user.py”, line 1470, in init univention.admin.handlers.simpleLdap.init(self, co, lo, position, dn, superordinate)
File “/usr/lib/python2.4/site-packages/univention/admin/handlers/init.py”, line 428, in init self.oldattr=self.lo.get(self.dn)
File “/usr/lib/python2.4/site-packages/univention/admin/uldap.py”, line 292, in get return self.lo.get(dn, attr, required)
File “/usr/lib/python2.4/site-packages/univention/uldap.py”, line 216, in get ‘(objectClass=*)’,attr )
File “/usr/lib/python2.4/site-packages/ldap/ldapobject.py”, line 481, in search_s return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
File “/usr/lib/python2.4/site-packages/ldap/ldapobject.py”, line 475, in search_ext_s return self.result(msgid,all=1,timeout=timeout)[1]
File “/usr/lib/python2.4/site-packages/ldap/ldapobject.py”, line 405, in result res_type,res_data,res_msgid = self.result2(msgid,all,timeout)
File “/usr/lib/python2.4/site-packages/ldap/ldapobject.py”, line 409, in result2 res_type, res_data, res_msgid, srv_ctrls = self.result3(msgid,all,timeout)
File “/usr/lib/python2.4/site-packages/ldap/ldapobject.py”, line 415, in result3 rtype, rdata, rmsgid, serverctrls = self._ldap_call(self._l.result3,msgid,all,timeout)
File “/usr/lib/python2.4/site-packages/ldap/ldapobject.py”, line 94, in _ldap_call result = func(*args,**kwargs)
SERVER_DOWN: {‘info’: ‘’, ‘desc’: “Can’t contact LDAP server”}

Report this error to Univention Feedback feedback@univention.de

Anmelden
[/code]

Eigentlich hoffe ich, das ist ein “kleine Ursache -> grosse Wirkung” Problem, aber gerade fehlt mir echt der Ansatzpunkt.
Bin dankbar für jeden Hinweis.

Mit freundlichem Gruss
Martin Soentgenrath

Huhu,

es schien ein Problem mit einem jpegPhoto eines Benutzers zu sein, dass dieser über den Univention Directory Manager hochgeladen hat.
Diese konnte nicht über den Listener an den Backup UCS Server verteilt werden.
Nachdem ich das Photo per ldapmodify gelöscht habe, scheint es wieder zu gehen.

Mit freundlichem Gruss
Martin Söntgenrath

Hallo,

hierbei handelt es sich vermutlich um einen Bug im LDAP-Server oder der LDAP-Bibliotheken. Bei auslesen einiger Bilder beendet der slapd ohne erkennbaren Grund die Verbindung zum Client (was auch zum Abbruch der Replikation führt).
Da es sich bei der jpegPhoto Erweiterung um eine für Sie entwickelte Anpassung handelt die noch nicht Teil des UCS-Produktumfangs ist, würde ich Sie bitten, das betreffende Bild (falls möglich) an uns zu senden. Wir könnten dieses Problem dann ggf. noch einmal gesondert untersuchen.

Mit freundlichen Grüßen
Janis Meybohm

[quote=“Meybohm”]Hallo,

hierbei handelt es sich vermutlich um einen Bug im LDAP-Server oder der LDAP-Bibliotheken. Bei auslesen einiger Bilder beendet der slapd ohne erkennbaren Grund die Verbindung zum Client (was auch zum Abbruch der Replikation führt).
Da es sich bei der jpegPhoto Erweiterung um eine für Sie entwickelte Anpassung handelt die noch nicht Teil des UCS-Produktumfangs ist, würde ich Sie bitten, das betreffende Bild (falls möglich) an uns zu senden. Wir könnten dieses Problem dann ggf. noch einmal gesondert untersuchen.

Mit freundlichen Grüßen
Janis Meybohm[/quote]

Hallo,

ich habe exakt dasgleiche Problem. Ich habe auf LDAP Ebene für alle (momentan ca. 90) User ein jpegPhoto Attribute per LDIF aus unserem alten System importiert. Danach konnte ich zwar alle Fotos per LDAP auslesen (wir nutzen das z.Z. in einer Mitarbeiterübersicht) aber das Webfrontend funktionierte nicht mehr und ich bekam besagte Fehlermeldung.

Dann habe ich folgendes gemacht:

  1. Alle jpepPhoto Attribute wieder gelöscht -> WebGUI funktioniert wieder

  2. Per Skript jedes Foto einzeln hinzugefügt und sofort danach einmal “univention-directory-manager users/user list” aufgerufen.

  3. Wenn das Listing nicht mehr ging, das Foto wieder entfernt und weiter im Programm bis ich alle User durchgearbeitet hatte.

Dabei sind 4 Fotos herausgefallen, die den Fehler verursachen. Jetzt habe ich alle Fotos bis auf die 4 im System und alles scheint normal zu funktionieren. In unserem alten System (ebenfalls openldap) gab es keine Probleme und da ich die problematischen Fotos auch per LDAP (PHP) wieder auslesen konnte sieht es eher noch einem Univention Problem aus, oder?

Gruss,
Rolf

Hallo,

wir mussten mit UCS 2.2 auch Instabilitäten des LDAP-Servers bei einigen Bilddateien feststellen. Auf UCS 2.3 Testsystemen konnten wir diese nicht reproduzieren.

Mit freundlichen Grüssen
Tobias Scherer

Mastodon