On 11/30/2008 05:08 PM, Robert Fitzpatrick wrote:
On Sun, 2008-11-30 at 16:46 -0600, Nic Bernstein wrote:On 11/30/2008 04:41 PM, Robert Fitzpatrick wrote:I am trying to move my config to another server, copied over the partition and config files, but the server seems to be complaining of my db version. I thought it was 4.3 and with that was what I built imapd. Can someone tell me how to determine what version my existing Berkeley db files are in and how to confirm the db version used to build imapd? Or how can I handle this? Nov 30 17:40:03 mail ctl_cyrusdb[15862]: DBERROR db4: Unacceptable log file /var/imap/db/log.0000000021: unsupported log version 11 Nov 30 17:40:03 mail ctl_cyrusdb[15862]: DBERROR db4: Invalid log file: log.0000000021: Invalid argument Nov 30 17:40:03 mail ctl_cyrusdb[15862]: DBERROR db4: PANIC: Invalid argument Nov 30 17:40:03 mail ctl_cyrusdb[15862]: DBERROR: critical database situation Nov 30 17:40:03 mail master[15861]: process 15862 exited, status 75 Nov 30 17:40:03 mail master[15861]: ready for work Nov 30 17:40:03 mail ctl_cyrusdb[15863]: DBERROR db4: PANIC: fatal region error detected; run recoveryYou should be able to determine which version of Berkeley DB your imapd is linked against with an "ldd `which imapd`" or whatever the equivilent is in your OS (you didn't mention which OS you are running on). You should be able to determine the version of db library which created the files with a "file <db-filename>" command. Most modern version of the file command and associated data will properly identify Berekely DB file versions.Thanks for the help, I am running FreeBSD 6.4. The ldd and file commands don't seem to work on this OS... mail# ldd `which imapd` ldd: imapd:: No such file or directory ldd: Command: No such file or directory ldd: not: No such file or directory ldd: found.: No such file or directory The ldd command is fine, but the imapd command is not in your path. Do you know where it is? If it is in /usr/local/libexec, for example, the command would be "ldd /usr/local/libexec/imapd" You should perform this on the old and the new server and see if the imapd's are linked against the same version of db. If not, you will need to perform a db_dump on the old system, and then reimport the database on the new server. You can use the cyrus specific utilities to make this easier. This is not the database which is yielding the errors, since this is a skiplist DB and not a Berkeley DB. What you should probably do is look at the imapd.conf file on the old and new servers, and check the release notes for both versions to see which of the different databases default to which DB backends in each. For example, in some older versions of cyrus several databases defaulted to Berkeley DB, whereas in newer versions they default to skiplist. A "man imapd.conf" should tell you the default for your version, and unless it is altered in the imapd.conf file that is what was used.mail# file /var/imap/mailboxes.db /var/imap/mailboxes.db: Cyrus skiplist DB I know this is a little vague, but you haven't given us much to go on. Cheers, -nic I am also getting the following, so I'm sure this has something to do with version. Imapd server starts, but all these errors and not able to connect... Nov 30 18:01:55 mail ctl_cyrusdb[83077]: DBERROR db4: Program version 4.3 doesn't match environment version -- Nic Bernstein nic@xxxxxxxxxxx Onlight llc. www.onlight.com 2266 North Prospect Avenue #610 v. 414.272.4477 Milwaukee, Wisconsin 53202-6306 f. 414.290.0335 |
---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html