First, I'm running Cyrus IMAPd 2.2.8 currently ...
Trying to narrow down *why* this is happening, I started to add a bunch of syslog() statements to global.c, to try and narrow things down ... I'm to the point that I'm in 'cyrusdb_init()', with code that looks like:
void cyrusdb_init() { int i, r; char dbdir[1024]; const char *confdir = libcyrus_config_getstring(CYRUSOPT_CONFIG_DIR); int initflags = libcyrus_config_getint(CYRUSOPT_DB_INIT_FLAGS);
strcpy(dbdir, confdir); strcat(dbdir, FNAME_DBDIR);
for(i=0; cyrusdb_backends[i]; i++) { syslog(LOG_NOTICE, "-> cyrusdb_init; %s", cyrusdb_backends[i]->name); r = (cyrusdb_backends[i])->init(dbdir, initflags); if(r) { syslog(LOG_ERR, "DBERROR: init() on %s", cyrusdb_backends[i]->name); } } }
Below is from the logs ... I have a process that checks for 2 ctl_cyrusdb processes running, and if so, it does a restart on the master process ... in this case, process 76671 and 81190 have hung up at cyrus_init: berkeley, while 82601 shows a "clean" run through after the restart:
Aug 29 11:45:08 affronter ctl_cyrusdb[76671]: -> configure libcyrus Aug 29 11:45:08 affronter ctl_cyrusdb[76671]: -> libcyrus_init begin Aug 29 11:45:08 affronter ctl_cyrusdb[76671]: -> cyrusdb_init; berkeley Aug 29 12:15:08 affronter ctl_cyrusdb[81190]: -> configure libcyrus Aug 29 12:15:08 affronter ctl_cyrusdb[81190]: -> libcyrus_init begin Aug 29 12:15:08 affronter ctl_cyrusdb[81190]: -> cyrusdb_init; berkeley Aug 29 12:30:06 affronter ctl_cyrusdb[82601]: -> configure libcyrus Aug 29 12:30:06 affronter ctl_cyrusdb[82601]: -> libcyrus_init begin Aug 29 12:30:06 affronter ctl_cyrusdb[82601]: -> cyrusdb_init; berkeley Aug 29 12:30:06 affronter ctl_cyrusdb[82601]: -> cyrusdb_init; berkeley-nosync Aug 29 12:30:06 affronter ctl_cyrusdb[82601]: -> cyrusdb_init; flat Aug 29 12:30:06 affronter ctl_cyrusdb[82601]: -> cyrusdb_init; skiplist Aug 29 12:30:06 affronter ctl_cyrusdb[82601]: -> cyrusdb_init; quotalegacy Aug 29 12:30:06 affronter ctl_cyrusdb[82601]: -> libcyrus_init end Aug 29 12:30:06 affronter ctl_cyrusdb[82601]: -> end cyrus_init Aug 29 12:30:06 affronter ctl_cyrusdb[82601]: recovering cyrus databases Aug 29 12:30:06 affronter ctl_cyrusdb[82601]: skiplist: recovered /var/spool/imap/mailboxes.db (1 record, 336 bytes) in 0 seconds Aug 29 12:30:06 affronter ctl_cyrusdb[82601]: skiplist: recovered /var/spool/imap/annotations.db (0 records, 144 bytes) in 0 seconds Aug 29 12:30:06 affronter ctl_cyrusdb[82601]: done recovering cyrus databases Aug 29 12:30:07 affronter ctl_cyrusdb[82612]: -> configure libcyrus Aug 29 12:30:07 affronter ctl_cyrusdb[82612]: -> libcyrus_init begin Aug 29 12:30:07 affronter ctl_cyrusdb[82612]: -> cyrusdb_init; berkeley Aug 29 12:30:07 affronter ctl_cyrusdb[82612]: -> cyrusdb_init; berkeley-nosync Aug 29 12:30:07 affronter ctl_cyrusdb[82612]: -> cyrusdb_init; flat Aug 29 12:30:07 affronter ctl_cyrusdb[82612]: -> cyrusdb_init; skiplist Aug 29 12:30:07 affronter ctl_cyrusdb[82612]: -> cyrusdb_init; quotalegacy Aug 29 12:30:07 affronter ctl_cyrusdb[82612]: -> libcyrus_init end Aug 29 12:30:07 affronter ctl_cyrusdb[82612]: -> end cyrus_init Aug 29 12:30:07 affronter ctl_cyrusdb[82612]: checkpointing cyrus databases Aug 29 12:30:07 affronter ctl_cyrusdb[82612]: done checkpointing cyrus databases
I'm still working on 'moving in' towards the culprit ... but does anyone know why the above would happen?
Will post more as I get more ...
---- Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) Email: [EMAIL PROTECTED] Yahoo!: yscrappy ICQ: 7615664 --- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html