On Sat, Jun 05, 2021 at 11:40:58PM -0500, Felipe Contreras
wrote:> % xapian-core/bin/xapian-check ~/mail/.notmuch/xapian/termlist.glass
> termlist:
> xapian-core/bin/.libs/lt-xapian-check: DatabaseCorruptError: Db block
> overwritten - are there multiple writers?
Ah - this tool currently requires the termlist table to be undamaged
enough to at least scan through.
You could try commenting out the body of GlassTable::set_overwritten()
in xapian-core/backends/glass/glass_table.cc so it keeps going instead
of throwing this exception, which might allow it to usefully recover
some or all tags. If you (or anyone) try that and it works let me know
and I can patch the branch to emit a warning message and continue there.
If the postlist table is readable it'd be possible to rescue the tag
data from there instead, but that's more complicated to do because
the tags would need collating for each message.
Cheers,
Olly