Hello, I wonder why is a "fatal" function called when the statuscache backend can't be opened. This makes the process terminate (then fork again, then terminate, then...). This is not logical, because statuscache is... a cache ! Cyrus should work fine without (and actually, it does, with the patch attached).
As we use an sql backend for statuscache, when the sql server is not available, we prefer that cyrus-imapd works without cache than a total breakdown. -- Cyril
--- imap/statuscache_db.c 30 Mar 2009 07:52:37 -0000 1.1.1.2 +++ imap/statuscache_db.c 4 Nov 2009 10:17:11 -0000 @@ -94,7 +94,7 @@ if (ret != 0) { syslog(LOG_ERR, "DBERROR: opening %s: %s", fname, cyrusdb_strerror(ret)); + syslog(LOG_ERR, "statuscache in degraded mode"); - fatal("can't read statuscache file", EC_TEMPFAIL); } if (tofree) free(tofree);