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