cvt_cyrusdb fail to convert deliver.db created by cyrus21-common
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cyrus-imapd-2.2 (Ubuntu) |
Invalid
|
Medium
|
Unassigned |
Bug Description
Hi,
When upgrading from cyrus21-common to cyrus-common-2.2, the cvt_cyrusdb included in cyrus-common-2.2 fail to convert the deliver.db file created by cyrus22-common. I believe this may be related to cvt_cyrusdb being linked to a different version of libdb.
The output of running cvt_cyrusdb from cyrus-common-2.2 on a deliver.db created by cyrus2.2-common is the following :
------------------
etienne@morbo:~$ sudo cvt_cyrusdb /var/lib/
Converting from /var/lib/
fatal error: can't open old database
-------------------
Here is the output of db4.3_dump on the deliver.db file in question :
-------------------
etienne@morbo:~$ sudo db4.3_dump /var/lib/
VERSION=3
format=bytevalue
type=btree
db_pagesize=4096
HEADER=END
DATA=END
-------
Using ldd on cvt_cyrusdb from cyrus22-common :
-------
etienne@morbo:~$ dpkg -S /usr/sbin/
cyrus21-common: /usr/sbin/
etienne@morbo:~$ ldd /usr/sbin/
libdb3.so.3 => /usr/lib/
libc.so.6 => /lib/tls/
libdl.so.2 => /lib/tls/
libz.so.1 => /usr/lib/libz.so.1 (0xb7c3b000)
-------
Using ldd on cvt_cyrusdb from cyrus-common-2.2 :
-------
etienne@morbo:~$ dpkg -S /usr/sbin/
cyrus-common-2.2: /usr/sbin/
etienne@morbo:~$ ldd /usr/sbin/
libc.so.6 => /lib/tls/
libdl.so.2 => /lib/tls/
libz.so.1 => /usr/lib/libz.so.1 (0xb7bec000)
-------
We can see that the version of Berkeley db cvt_cyrusdb is liked against differ. I do not know anything about the bdb API, so I cannot presume this is actually the cause of the incompatibility, but it appear plausible to me.
I understand that the data stored in deliver.db is volatile and need to purged periodically. Thus, I suppose an acceptable work-around for this problem could be to simply move the file away and let Cyrus start fresh with an empty one.
If fixing cvt_cyrusdb in cyrus-common-2.2 to handle db3 file produced by cyrus21-common is not a possibility, we might want to document it in /usr/share/
Thank you for taking the time to report this bug and helping to make Ubuntu better. You reported this bug a while ago and there hasn't been any activity in it recently. We were wondering is this still an issue for you? Thanks in advance.