integrity failure - how to fix?

Ed Santiago esm at edsantiago.com
Sun Dec 17 00:06:30 UTC 2006


hg log/diff/commit is barfing with:

   abort: integrity check failed on 00changelog.d:1736! 

hg verify complains:

   repository uses revlog format 0
   checking changesets
   changelog data length off by 917 bytes
   incorrect link (1734) for changeset revision 1736
   unpacking changeset dbee0143e5a6: integrity check failed on 00changelog.d:1736
   checking manifests
   manifest data length off by 212 bytes
   crosschecking files in changesets and manifests
   checking files
   diff.out: 883:1b97f5e2260d not in manifests
   diff.out:1b97f5e2260d points to unexpected changeset 1734
   r: 408:3a221a8c373b not in manifests
   r:3a221a8c373b points to unexpected changeset 1734
   8 files, 1737 changesets, 1766 total revisions
   8 integrity errors encountered!

Possible cause: multiple simultaneous commits (via procmail)
on SMP system.  A flood of queued emails got handled at once.

This isn't a critical repository, and I have a backup
from last night, and I can live with losing today's commits.
But simply out of principle, is there any way to fix it?

And: I've added a lock to my procmail rule.  But if locking
truly is the cause of this problem, you might want to make
sure the Hg locking is SMP-safe...

Thanks,
^E
-- 
Ed Santiago               Toolsmith               ed at edsantiago.com




More information about the Mercurial mailing list