<br><br><div><span class="gmail_quote">On 7/27/07, <b class="gmail_sendername">Simon Matter</b> <<a href="mailto:simon.matter@invoca.ch">simon.matter@invoca.ch</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
> On 7/27/07, Simon Matter <<a href="mailto:simon.matter@invoca.ch">simon.matter@invoca.ch</a>> wrote:<br>>><br>>> > I have been holding back updating to cyrus 2.2.13 but this afternoon I<br>>> > went
<br>>> > ahead and made the major update and really tried to follow ALL the<br>>> points<br>>> > and rules in updating but I really think I messed up the whole system<br>>> now.<br>>> > I really hope I have not hosed all the email today and have to go back
<br>>> to<br>>> > an<br>>> > older backup :(.<br>>> ><br>>> > I really do need some help for I am so lost and I think everything I<br>>> have<br>>> > been trying has made it to worse and back again.
<br>>><br>>> Hi,<br>>><br>>> I'm really no expert with BDB and I'm avoiding it wherever I can. But<br>>> what comes to mind is this:<br>>> You didn't tell us what exactly you have updated. It's cyrus-imap from
<br>>> ???<br>>> to 2.2.13. But what else? My guess is that you also updated BDB from db3<br>>> to db4 and didn't manage to upgrade you BDB files, can that be? I read<br>>> something like "istoric log version 3" which makes me believe you are
<br>>> trying to access db3 files with cyrus/db4.<br>>> From what I know you have to dump the db3 db's with db3 and then import<br>>> to<br>>> db4 files with the db4 tools. IIRC this has been discussed on this list
<br>>> several times and you should be able to find the correct command<br>>> sequence<br>>> for it in the archives.<br>>><br>>> To avoid that kind of problems in future you could convert all BDB
<br>>> databases to skiplist and enjoy beeing free of BDB version conflicts in<br>>> the future. However to fix it now you will for sure need the db3<br>>> libs/tools to get anything usefull out of your db3 files.
<br>>><br>>> Hope that helps at least a little bit.<br>>> Simon<br>>><br>>> ><br>>> > Here is the output from syslog.<br>>> ><br>>> > Jul 26 22:37:27 jurassic cyrus/master[10684]: process started
<br>>> > Jul 26 22:37:31 jurassic cyrus/master[10708]: about to exec<br>>> > /usr/sbin/ctl_cyrusdb<br>>> > Jul 26 22:37:32 jurassic cyrus/ctl_cyrusdb[10708]: DBERROR db4:<br>>> Skipping<br>
>> > log<br>>> > file /var/lib/cyrus/db/log.00000000<br>>> > 55: historic log version 3<br>>> > Jul 26 22:37:33 jurassic cyrus/ctl_cyrusdb[10708]: recovering cyrus<br>>> > databases
<br>>> > Jul 26 22:37:33 jurassic cyrus/ctl_cyrusdb[10708]: skiplist: recovered<br>>> > /var/lib/cyrus/mailboxes.db (563 records,<br>>> > 84908 bytes) in 0 seconds<br>>> > Jul 26 22:37:33 jurassic cyrus/ctl_cyrusdb[10708]: skiplist: recovered
<br>>> > /var/lib/cyrus/annotations.db (0 records,<br>>> > 144 bytes) in 0 seconds<br>>> > Jul 26 22:37:33 jurassic cyrus/ctl_cyrusdb[10708]: DBERROR db4:<br>>> > /var/lib/cyrus/db/log.0000000056: log file open
<br>>> > failed: No such file or directory<br>>> > Jul 26 22:37:33 jurassic cyrus/ctl_cyrusdb[10708]: DBERROR db4: PANIC:<br>>> No<br>>> > such file or directory<br>>> > Jul 26 22:37:33 jurassic cyrus/ctl_cyrusdb[10708]: DBERROR: critical
<br>>> > database situation<br>>> > Jul 26 22:37:34 jurassic cyrus/master[10684]: process 10708 exited,<br>>> status<br>>> > 75<br>>> > Jul 26 22:37:34 jurassic cyrus/master[10754]: about to exec
<br>>> > /usr/sbin/cyr_expire<br>>> > Jul 26 22:37:34 jurassic cyrus/cyr_expire[10754]: DBERROR db4: PANIC:<br>>> > fatal<br>>> > region error detected; run recovery<br>>> > Jul 26 22:37:34 jurassic cyrus/cyr_expire[10754]: DBERROR: critical
<br>>> > database<br>>> > situation<br>>> > Jul 26 22:37:34 jurassic cyrus/master[10684]: process 10754 exited,<br>>> status<br>>> > 75<br>>> > Jul 26 22:37:34 jurassic cyrus/master[10755]: about to exec
<br>>> > /usr/sbin/tls_prune<br>>> > Jul 26 22:37:34 jurassic cyrus/tls_prune[10755]: DBERROR db4: PANIC:<br>>> fatal<br>>> > region error detected; run recovery<br>>> > Jul 26 22:37:34 jurassic cyrus/tls_prune[10755]: DBERROR: critical
<br>>> > database<br>>> > situation<br>>> > Jul 26 22:37:34 jurassic cyrus/master[10684]: process 10755 exited,<br>>> status<br>>> > 75<br>>> > Jul 26 22:37:34 jurassic cyrus/master[10684]: ready for work
<br>>> > Jul 26 22:37:34 jurassic cyrus/master[10766]: about to exec<br>>> > /usr/sbin/ctl_cyrusdb<br>>> > Jul 26 22:37:34 jurassic cyrus/master[10767]: about to exec<br>>> > /usr/lib/cyrus/bin/notifyd
<br>>> > Jul 26 22:37:34 jurassic cyrus/ctl_cyrusdb[10766]: DBERROR db4: PANIC:<br>>> > fatal<br>>> > region error detected; run recovery<br>>> > Jul 26 22:37:34 jurassic cyrus/ctl_cyrusdb[10766]: DBERROR: critical
<br>>> > database situation<br>>> > Jul 26 22:37:34 jurassic cyrus/master[10684]: process 10766 exited,<br>>> status<br>>> > 75<br>>> ><br>>> ><br>>> ><br>>> > No mater what I do I just can not get passed this error. I have
<br>>> > tried...reconstructing, db4.3_recover, bringing in a backup db and<br>>> each<br>>> > one<br>>> > just does not clear the air. Every time I try the error still<br>>> persists.
<br>>> > Is<br>>> > this recoverable? Everything I have read on how to fix it does not<br>>> work.<br>>> > I<br>>> > am wondering if i really missed something here. I really do hope to
<br>>> get<br>>> > some feed back ASAP because I want to get this fixed within the next 7<br>>> > hrs.<br>>> ><br>>> > -Adam<br>><br>><br>><br>><br>> Simon,<br>>
<br>> Thank you. Yes.. after being very tired and warry from working on this<br>> for<br>> a long while I did forget to mention a few things.<br>><br>> I started out with cyrus21 and moved to cyrus22 which should have been an
<br>> easy upgrade but wow.. I really got into a mess. This all started because<br>> vacation scripts were not working and trying to get them to work properly.<br>> Aslo I needed the virtual domain function in the new
2.2 which led me to<br>> this fun trip.<br>><br>> Yes, I did update DB to 4.3 and had thought I converted everything over to<br>> skiplist but guess I had not. When I used db4.3_update I did not get a<br>> good
<br>> response and the moment I do not remember what it was. I really tried to<br>> do<br>> as much as possible and maybe as much damage before I consulted the mail<br>> list. It looks like now the files are skiplist however the DB files in
<br>> the<br>> db directory, do I need to do anything with those? Or, are all db files I<br>> need to convert are in the /var/lib/cyrus/ proper directory?<br>><br>> These are the files I have wich are skiplist.
<br>> mailboxes.db<br>> annotations.db<br><br>Usually there are at least four db files:<br>annotations.db<br>deliver.db<br>mailboxes.db<br>tls_sessions.db<br><br>I think only mailboxes.db is really important here, deliver.db
and<br>tls_sessions.db can be wiped and will be created again, annotations.db is<br>empty if you don't use annotations.<br>You should also have a look at the db/ directory. IIRC there can be a<br>situation when you moved to skiplist but still have BDB files in db/ it
<br>will still disturb and should be removed while cyrus is stopped.<br><br>The think with hashed directories you mentioned in another mail can be<br>controlled with hashimapspool and fulldirhash in /etc/imapd.conf. I have
<br>no idea how the Debian packages are configured but you should find it in<br>the package description somehow.<br><br>Simon<br></blockquote></div><br>Very nice.. Thank you. It looks like my deliver.db is still a db(x) file. Can the files in db/ just be erased and when cyrus starts up it creats new files or do the __db* files ned to be converted. I am not sure how to tell if those are db(x) or skiplist.
<br><br>I am looking up the hashimapsool and fulldrihash right now.<br><br>-Adam<br><br>