Re: How to recover from this permanent fatal error?

2021-06-06 Thread Olly Betts
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

2021-06-06 Thread William Casarin

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?

2021-06-06 Thread Felipe Contreras
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?

2021-06-06 Thread Olly Betts
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