Xapian exception leading to database corruption

David Edmondson dme at dme.org
Thu Dec 28 14:54:45 PST 2017


Using current git notmuch on Debian testing a rebuild from scratch of my
database fails:

> agrajag-testing ~/s/notmuch % ./notmuch new
> Found 605510 total files (that's not much mail).    
> add_file: A Xapian exception occurred 28m 37s remaining).
> A Xapian exception occurred adding message: Unexpected end of posting list for 'G0000000000014364'.
> Processed 137296 total files in 8h 4m 45s (4 files/sec.).
> Added 135950 new messages to the database.
> Note: A fatal error was encountered: A Xapian exception occurred
> agrajag-testing ~/s/notmuch %                          

Checking the database at this point seems fine:

> agrajag-testing ~/s/notmuch % xapian-check ~/Maildir/.notmuch/xapian 
> docdata:
> blocksize=8K items=0 firstunused=1 revision=1 levels=0 root=(faked)
> void B-tree checked okay
> docdata table structure checked OK
> 
> termlist:
> blocksize=8K items=0 firstunused=2 revision=1 levels=0 root=(faked)
> void B-tree checked okay
> termlist table structure checked OK
> 
> postlist:
> blocksize=8K items=2 firstunused=1 revision=1 levels=0 root=0
> B-tree checked okay
> postlist table structure checked OK
> 
> position:
> blocksize=8K items=0 firstunused=1 revision=1 levels=0 root=(faked)
> void B-tree checked okay
> position table structure checked OK
> 
> spelling:
> Lazily created, and not yet used.
> 
> synonym:
> Lazily created, and not yet used.
> 
> No errors found
> agrajag-testing ~/s/notmuch % 

If I run “notmuch new” again then the exception repeats, except the
database is listed as corrupt (this is actually from an earlier
cycle of testing, but it is reproducible):

> agrajag-testing ~/s/notmuch % ./notmuch new
> add_file: A Xapian exception occurred
> A Xapian exception occurred adding message: Unexpected end of posting list for 'G0000000000013f27'.
> Processed 16 total files in 59s (0 files/sec.).
> Added 15 new messages to the database.
> Note: A fatal error was encountered: A Xapian exception occurred
> agrajag-testing ~/s/notmuch % xapian-check ~/Maildir/.notmuch/xapian  
> docdata:
> blocksize=8K items=15 firstunused=3 revision=9 levels=0 root=2
> B-tree checked okay
> docdata table structure checked OK
> 
> termlist:
> blocksize=8K items=301848 firstunused=68658 revision=9 levels=2 root=14019
> xapian-check: DatabaseError: 1 unused block(s) missing from the free list, first is 0
> agrajag-testing ~/s/notmuch % 

I see that bremner reported something like this in #xapian, but not any
resolution.

Any suggestions? Is it possible to force a new chert database to be
created rather than glass? (Mostly I'd like to get back to work!)

dme.
-- 
But uh oh, I love her because, she moves in her own way.


More information about the notmuch mailing list