Univention Bugzilla – Bug 27724
Filedescriptor für /etc/cyrus-ldap.secret wird in imapd nicht wieder geschlossen
Last modified: 2012-11-09 16:14:23 CET
Der gleiche Codeabschnitt wie in Bug 27723 findet sich auch im Patch 05_ldap_group.patch für den imapd. Die imapd-Prozesse werden aktuell nach der 30. Verwendung automatisch beendet und durch einen neuen Prozess ausgetauscht, so dass das Standard-Filehandle-Limit von 1024 zunächst keine Probleme bereitet. +++ This bug was initially created as a clone of Bug #27723 +++ Der Filedescriptor für /etc/machine.secret wird in pam_univentionmailcyrus.so nicht wieder geschlossen, was dann im saslauthd nach einiger Zeit zu zu vielen offenen Filehandles führt und der saslauthd damit nicht mehr benutzbar ist: /* read password from file */ if ((fp = fopen(pwfile, "r")) != NULL) { if (fgets(bindpw, 1024, fp) == NULL) { len = strlen(bindpw); if (bindpw[len-1] == '\n') bindpw[len-1] = '\0'; } } return ctrl;
Das scheint auch die Ursache für die korrupten Index-Dateien zu sein. Dem ltmpd gehen hier ebenfalls die Dateihandles aus: Jun 22 11:00:51 hostname cyrus/lmtp[4352]: duplicate_mark: <xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> example.com!user.some.username 1340355651 134806788 Jun 22 11:00:51 hostname cyrus/lmtp[4352]: IOERROR: creating quota file /var/lib/cyrus/domain/e/example.com/quota/s/user.some.username.NEW: Too many open files Jun 22 11:00:51 hostname cyrus/lmtp[4352]: DBERROR: error storing example.com!user.some.username: cyrusdb error Jun 22 11:00:51 hostname cyrus/lmtp[4352]: LOSTQUOTA: unable to record use of 0 bytes in quota file example.com!user.some.username Jun 22 11:00:51 hostname cyrus/lmtp[4352]: Delivered: <xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> to mailbox: example.com!user.some.username Jun 22 11:00:51 hostname cyrus/lmtp[4352]: mystore: starting txn 2147506193
fclose(fp) wurde analog zu Bug 27723 eingebaut. cyrus-imapd-2.2 und cyrus-imapd-2.4 wurden im errata3.0-1 Scope neu gebaut. 2012-06-22-cyrus-imapd-2.2.yaml src: cyrus-imapd-2.2 fix: 2.2.13-19.120.201206221605 2012-06-22-cyrus-imapd-2.4.yaml src: cyrus-imapd-2.4 fix: 2.4.9-1.24.201206221615 Changelogeintrag wurde erstellt. Next step: https://hutten.knut.univention.de/mediawiki/index.php/Errata-Updates#QA_-_Funktionale_QA_des_Errata-Updates
Mit 3.0-1 konnte das Problem nachvollzogen werden -> cyradm --user oxuser1 10.200.7.90 -> cyradm --user oxuser1 10.200.7.90 -> cyradm --user oxuser1 10.200.7.90 -> cyradm --user oxuser1 10.200.7.90 -> lsof | grep cyrus-ldap.secret|wc -l 9 IMAP 2.2 (i386) IMAP 2.4 (i386, amd64) cyrus-imapd-2.2 2.2.13-19.120.201206221605 cyrus-imapd-2.4 2.4.9-1.24.201206221615 -> cyradm --user oxuser1 10.200.7.90 -> cyradm --user oxuser1 10.200.7.90 -> cyradm --user oxuser1 10.200.7.90 -> cyradm --user oxuser1 10.200.7.90 -> echo "test"|sendmail oxuser1@test.de -> echo "test"|sendmail oxuser1@test.de -> echo "test"|sendmail oxuser1@test.de -> lsof | grep cyrus-ldap.secret|wc -l 0 2.2 YAML OK 2.4 YAML OK
http://errata.univention.de/errata87.html http://errata.univention.de/errata88.html