[Dovecot] Error: dict: Failed to initialize dictionary 'expire'

LÉVAI Dániel leva at ecentrum.hu
Fri Dec 19 21:30:26 EET 2008


On Friday 19 December 2008 20.22.37 LÉVAI Dániel wrote:
> Hi!
>
> Using dovecot-1.1.17, and BDB-4.6.21.
> I'm having this error in every two weeks or so. I've running this in
> a crontab:
> /usr/local/sbin/dovecot --exec-mail \
>   ext /usr/local/libexec/dovecot/expire-tool
>
> The expire plugin and tool is working fine, the configuration is ok,
> and I'm using the BDB backend.
> What happens in every ~two weeks is dovecot starts to give me this
> error messages:
> Error: dict: db_env: Unable to allocate memory for transaction detail
> Error: dict: Failed to initialize dictionary 'expire'
>
> Reading thru Oracle's Berkeley DB FAQ:
> http://www.oracle.com/technology/products/berkeley-db/faq/db_faq.html
>#28 "This error means the maximum number of active transactions
> configured for Berkeley DB has been reached [...] When all of the
> memory available in the database environment for transactions is in
> use, calls to being a transaction will fail until some active
> transactions complete. By default, the database environment is
> configured to support at least 20 active transactions."
>.
> What could be happening here? Why coudn't it finish its transactions?
> After a dovecot restart it works fine :\
Sorry, I was in a hurry. It won't work even after a dovecot restart. I 
must delete expire's database directory, which I set with "expire = 
db:/var/dovecot/expire/expire.db" under the dict {} section. Then after 
a dovecot restart it works fine (at least for a couple of weeks).

-- 
LEVAI Daniel
PGP key ID = 0x4AC0A4B1
Key fingerprint = D037 03B9 C12D D338 4412  2D83 1373 917A 4AC0 A4B1


More information about the dovecot mailing list