Re: How to recover from this permanent fatal error?
On Sun, Jun 06, 2021 at 07:48:39AM -0500, Felipe Contreras wrote: > On Sun, Jun 6, 2021 at 5:08 AM Olly Betts wrote: > > > 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. > > Now I get this: > > termlist: > blocksize=8K items=687440 firstunused=152676 revision=2 levels=2 root=749 > /home/felipec/contrib/xapian/xapian-core/bin/.libs/lt-xapian-check: > DatabaseError: Block 152676: used more than once in the Btree I've pushed a change to skip the low level table consistency checking on the branch since that's where this report is from. The whole point of this branch is to rescue tags from a broken database, so the user presumably already ran the real xapian-check and it's not useful to be repeating those checks here. Hopefully that'll get us to actually rescuing some tags! Cheers, Olly ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [PATCH] emacs/tree: add notmuch-tree-quit-all
On Sat, Jun 05, 2021 at 08:35:41AM -0300, David Bremner wrote: William Casarin writes: This is a simple binding in notmuch-tree-mode that closes both the message buffer and thread buffer at the same time. This is a common action after entering a thread from search with M-Enter. Signed-off-by: William Casarin Apologies for the epic delay. Should this binding also be added to the message window? ah sure, I don't use emacs anymore so I won't have time to update these patches. sorry about that :( feel free to mark these as abandoned unless someone wants to pick it up. Cheers, Will ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: How to recover from this permanent fatal error?
On Sun, Jun 6, 2021 at 5:08 AM Olly Betts wrote: > 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. Now I get this: termlist: blocksize=8K items=687440 firstunused=152676 revision=2 levels=2 root=749 /home/felipec/contrib/xapian/xapian-core/bin/.libs/lt-xapian-check: DatabaseError: Block 152676: used more than once in the Btree -- Felipe Contreras ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: How to recover from this permanent fatal error?
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 ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org