cyrus-murder problems with database corruption in the frontend/master

João Assad jfassad at
Wed Apr 6 18:07:28 EDT 2005

Derrick J Brashear wrote:

>> I've noticed that once I get the mmap error, the system will still 
>> run without spitting db errors for anywhere from a few mins to a few 
>> hours. Also, I never get more than one mmap error before the db 
>> becomes unnusable.
> that's not shocking.  i'd still like to know why mmap fails, but, 
> failing that, and since you're already getting corruption, can you in 
> mupdate.c replace fatal with a function which does:
> void fatal(const char *s, int code)
> {
>   assert(0);
>   exit(code); /* shut up GCC */
> }
> and then give us a backtrace from the core which you will then get?

After doing that, the mupdate process now exits with signal 11 as expected.
OTOH the core isnt getting dumped to disk for some reason...
ulimit -c unlimited didnt work.

cyrus-fe1 cyrus/mupdate[32003]: IOERROR: mapping 
/var/lib/imap/mailboxes.db file: Cannot allocate memory
cyrus-fe1 cyrus/master[32000]: process 32003 exited, signaled to death 
by 11
cyrus-fe1 cyrus/master[32000]: service mupdate pid 32003 in READY state: 
terminated abnormally

Cyrus Home Page:
Cyrus Wiki/FAQ:
List Archives/Info:

More information about the Info-cyrus mailing list