bug: "no top level messages" crash on Zen email loops
Antoine Beaupré
anarcat at orangeseeds.org
Mon Mar 19 10:50:34 PDT 2018
On 2018-03-19 13:36:49, David Bremner wrote:
> Antoine Beaupré <anarcat at orangeseeds.org> writes:
>
>> Hi!
>>
>> Here's a fun bug for you Xapian tricksters.
>>
>> Two emails attached make notmuch crash when trying to display the
>> folder.
>>
>> $ notmuch show thread:0000000000000001
>> Internal error: Thread 0000000000000001 has no toplevel messages.
>> (notmuch-show.c:1012)
>>
>> Those are the two messages:
>>
>> $ notmuch search --output messages thread:0000000000000001
>> id:9379QM5Z39_5aa86b134fcfb_174033fc97a2cb98c7198d_sprut at zendesk.com
>> id:9379QM5Z39_5aa86b1350504_174eb3fc97a2cb98c71674_sprut at zendesk.com
>>
>> `notmuch show` on either messages crashes the same way:
>>
>> $ notmuch show id:9379QM5Z39_5aa86b1350504_174eb3fc97a2cb98c71674_sprut at zendesk.com
>> Internal error: Thread 0000000000000001 has no toplevel messages.
>> (notmuch-show.c:1012)
>
> I can't duplicate that part.
That's very strange. I can reproduce this on my workstation here, but
taking the tarball I sent in the original message, I can't reproduce
anymore. So something changed! I suspect it's the "flags" on the
message. I have "F" everywhere because I'm experimenting with syncing
(badly) my inbox tag everywhere, through the flagged tag. All post-new
hooks stuff that shouldn't affect this because it's in a new
environment, but it does change the flag on the files sometimes.
So attached is a *new* reproducer, with which I *can* reproduce in a
clean VM with notmuch from stretch (0.23?).
To reproduce, with a `debian/stretch64` vagrant VM:
host$ vagrant init debian/stretch64 && vagrant up && vagrant ssh
guest$ sudo apt install notmuch
guest$ notmuch setup # pick all defaults
guest$ wget $url_of_the_reproducer
guest$ tar zxfv zendesk-mail-loop2.tgz
guest$ mv gitlab mail # to put it where notmuch expects
guest$ notmuch new
guest$ notmuch show thread:0000000000000001
Internal error: Thread 0000000000000001 has no toplevel messages.
(notmuch-show.c:957)
I can reproduce this reproducibly here now.
Phew, that is definitely weird! For what it's worth, here's the diff
between the two tarballs:
[429]anarcat at curie:~1$ diffoscope zendesk-email-loop.tgz zendesk-email-loop2.tgz
|################################################################################| 100% Time: 0:00:00
--- zendesk-email-loop.tgz
+++ zendesk-email-loop2.tgz
├── metadata
│ @@ -1 +1 @@
│ -gzip compressed data, last modified: Mon Mar 19 13:21:40 2018, from Unix
│ +gzip compressed data, last modified: Mon Mar 19 17:38:29 2018, from Unix
│ --- zendesk-email-loop.tgz-content
├── +++ zendesk-email-loop2.tgz-content
├── file list
│ │ @@ -1,5 +1,5 @@
│ │ -drwx------ 0 anarcat (1000) anarcat (1000) 0 2018-03-19 13:11:45.000000 gitlab/cur/
│ │ --rw------- 0 anarcat (1000) anarcat (1000) 8858 2018-03-14 00:27:37.000000 gitlab/cur/1521465105.R3423354954039434325.curie:2,FS
│ │ --rw------- 0 anarcat (1000) anarcat (1000) 11861 2018-03-19 08:50:10.000000 gitlab/cur/1521464914.R16228666356894086807.curie:2,F
│ │ +drwx------ 0 anarcat (1000) anarcat (1000) 0 2018-03-19 17:35:32.000000 gitlab/cur/
│ │ +-rw------- 0 anarcat (1000) anarcat (1000) 8858 2018-03-14 00:27:37.000000 gitlab/cur/1521463753.R9368947314807690338.curie:2,FS
│ │ +-rw------- 0 anarcat (1000) anarcat (1000) 8720 2018-03-14 00:30:59.000000 gitlab/cur/1521463752.R13151765805797588408.curie:2,FS
│ │ drwx------ 0 anarcat (1000) anarcat (1000) 0 2018-03-19 12:49:12.000000 gitlab/new/
│ │ -drwx------ 0 anarcat (1000) anarcat (1000) 0 2018-03-19 13:11:45.000000 gitlab/tmp/
│ │ +drwx------ 0 anarcat (1000) anarcat (1000) 0 2018-03-19 12:49:13.000000 gitlab/tmp/
│ --- gitlab/cur/1521465105.R3423354954039434325.curie:2,FS
├── +++ gitlab/cur/1521463753.R9368947314807690338.curie:2,FS
ie. the files are identical, but the serial numbers, timestamps and
flags differ. Maybe this makes the directory ordering (so the load order
in notmuch new) differ? No idea.
But hopefully this will allow you to reproduce more reliably.
A.
--
La seule excuse de Dieu, c'est qu'il n'existe pas.
- Stendhal
More information about the notmuch
mailing list