Cyrus 2.3.10 RC3

Bron Gondwana brong at fastmail.fm
Tue Oct 23 04:21:21 EDT 2007


On Mon, 22 Oct 2007 11:44:40 +0100 (BST), "David Carter" <dpc22 at cam.ac.uk> said:
> On Mon, 22 Oct 2007, Bron Gondwana wrote:
> 
> > Annoyingly, it means that I'll have to add 8 bytes to each index record 
> > because of alignment issues (ho hum - or maybe store the crc32 of the 
> > cache record here too, stranger things have been suggested.
> 
> I like this idea.

I have a basic implementation which I think covers all the _write_ cases.
It certainly doesn't even come close to covering all the read cases - we
have those lovely MACRO(msgno) things everywhere that just read an
arbitrary memory mapped address.  They will all need to be found and
replaced with something that reads and checks the record first.

Back to the earlier topic:

Oct 23 03:47:06 imap4 slot407/sync_client[20103]: IOERROR: opening message file 10 of MAILBOXNAME: No such file or directory

We're still getting quite a few of these.  I look at the folder and I can't see
any "message 10", not even in the indexes:

[root at imap10 hm]$ utils/oneoff/index_uids.pl -D /mnt/meta11/slot1011/store46/meta/domain/f/fastmail.net/s/user/USERNAME/cyrus.index
Generation: 0
Format: 0
MinorVersion: 10
StartOffset: 96
RecordSize: 88
Exists: 3
LastAppenddate: 1193125626
LastUid: 3
QuotaUsed: 18803
Pop3LastLogin: 0
UidValidity: 1186116648
Deleted: 0
Answered: 0
Flagged: 0
Options: 00000000000000000000000000000001
LeakedCache: 0
HigestModseq: 1
Spare0: 0
Spare1: 0
Spare2: 0
Spare3: 0
Spare4: 0

Uid: 1
InternalDate: 1186116649
SentDate: 1186156800
Size: 14986
HeaderSize: 821
ContentOffset: 821
CacheOffset: 4
LastUpdated: 1186116650
SystemFlags: 00000000000000000000000000000000
UserFlags: 00000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
ContentLines: 318
CacheVersion: 2
MessageGuid: dcb67a970364922643fa846654fbea290e00a8d5
Modseq: 1

Uid: 2
InternalDate: 1186117857
SentDate: 1186156800
Size: 1611
HeaderSize: 1120
ContentOffset: 1120
CacheOffset: 1508
LastUpdated: 1186117857
SystemFlags: 00000000000000000000000000000000
UserFlags: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
ContentLines: 10
CacheVersion: 2
MessageGuid: 688c701fdbe255cf81d834ab954b3d98cc68adcf
Modseq: 1

Uid: 3
InternalDate: 1193125626
SentDate: 1193155200
Size: 2206
HeaderSize: 1864
ContentOffset: 1864
CacheOffset: 2388
LastUpdated: 1193125626
SystemFlags: 00000000000000000000000000000000
UserFlags: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
ContentLines: 10
CacheVersion: 2
MessageGuid: e72d920e157fe948b4f5d913c789074167936516
Modseq: 1

As you can see, it only has 1, 2 and 3 - never had a "message 10", since
LastUid is 3.

It's very difficult to debug these things since there's no evidence of them in
the index files!  It looks like something is wrong in the sync protocol though.

Also, in doing the CRC32 stuff, I found some other little bugs.  I'll split them
out into a separate patch to push back first.

Bron.
-- 
  Bron Gondwana
  brong at fastmail.fm



More information about the Cyrus-devel mailing list