fatal error: failed to mmap new message file

Dave McMurtrie dave64 at andrew.cmu.edu
Sun Nov 27 13:26:53 EST 2011


> On Sun, 2011-11-27 at 12:37 -0500, Adam Tauno Williams wrote:
>> On Sun, 2011-11-27 at 12:14 -0500, Adam Tauno Williams wrote:
>> > I updated one of my production boxes to Cyrus IMAPd 2.4.12 [using
>> > Simon's excellent packages]
>> > On my test box / replica I was able to reconstruct all the mailboxes
>> > But [of course] on the production box I have a few mailboxes
>> [important
>> > ones, of course] that fail a reconstruc
>> > $ /usr/lib/cyrus-imapd/reconstruct -r user.steve
>> > fatal error: failed to mmap new message file
>> > $ /usr/lib/cyrus-imapd/reconstruct -r user.barnosky
>> > fatal error: failed to mmap new message file
>> > Reconstructing other mailboxes is working.  Hints / Tips?  reconstruct
>> > doesn't seem top have a verbose / debug switch.
>>
>> In the log file I see -
>>
>> Nov 27 12:36:23 sardine reconstruct[9524]: seen_db: user barnosky
>> opened /var/lib/imap/user/b/barnosky.seen
>> Nov 27 12:36:23 sardine reconstruct[9524]: IOERROR: mapping new message
>> file: No such device
>
> If I trace the reconstruct it fails at -
> connect(9, {sa_family=AF_FILE, path="/dev/log"...}, 110) = 0
> send(9, "<23>Nov 27 12:50:42 reconstruct["..., 103, MSG_NOSIGNAL) = 103
> fcntl64(8, F_SETLKW, {type=F_RDLCK, whence=SEEK_SET, start=0, len=0}) =
> 0
> fstat64(8, {st_mode=S_IFREG|0600, st_size=7924, ...}) = 0
> stat64("/var/lib/imap/user/b/barnosky.seen", {st_mode=S_IFREG|0600,
> st_size=7924, ...}) = 0
> fcntl64(8, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=0, len=0}) =
> 0
> munmap(0xb7eb7000, 16384)               = 0
> close(8)                                = 0
> open("/var/spool/imap/b/user/barnosky/cyrus.expunge", O_RDWR) = 8
> fstat64(8, {st_mode=S_IFREG|0600, st_size=1200504, ...}) = 0
> mmap2(NULL, 1200504, PROT_READ, MAP_SHARED, 8, 0) = 0xb7d95000
> brk(0x908b000)                          = 0x908b000
> open("/proc/meminfo", O_RDONLY)         = 10
> fstat64(10, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) = 0xb7d94000
> read(10, "MemTotal:       775008 kB\nMemFre"..., 4096) = 771
> close(10)                               = 0
> munmap(0xb7d94000, 4096)                = 0
> open("/var/spool/imap/b/user/barnosky/cyrus.index.NEW", O_RDWR|O_CREAT|
> O_TRUNC, 0666) = 10
> open("/var/spool/imap/b/user/barnosky/cyrus.cache.NEW", O_RDWR|O_CREAT|
> O_TRUNC, 0666) = 11
> write(11, "\236\0w\233", 4)             = 4
> write(10, "\236\0w\233\0\0\0\0\0\0\0\f\0\0\0\200\0\0\0`\0\0\0\0N\321\5
> \227\0\0018\313"..., 128) = 128
> open("/var/spool/imap/b/user/barnosky", O_RDONLY) = 12
> fstat64(12, {st_mode=S_IFDIR|0700, st_size=282624, ...}) = 0
> mmap2(NULL, 282624, PROT_READ, MAP_SHARED, 12, 0) = -1 ENODEV (No such
> device)

mmap() is supposed to fail with ENODEV if the underlying filesystem
doesn't support mmap.  What filesystem is /var/spool/imap/b/user/barnosky
on?



More information about the Info-cyrus mailing list