From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id DD0366DE2456 for ; Mon, 19 Mar 2018 10:50:36 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: -0.364 X-Spam-Level: X-Spam-Status: No, score=-0.364 tagged_above=-999 required=5 tests=[AWL=-0.365, UNPARSEABLE_RELAY=0.001] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gtCkzd5qXaS6 for ; Mon, 19 Mar 2018 10:50:36 -0700 (PDT) Received: from marcos.anarc.at (marcos.anarc.at [206.248.172.91]) by arlo.cworth.org (Postfix) with ESMTPS id C9D746DE2428 for ; Mon, 19 Mar 2018 10:50:35 -0700 (PDT) Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: anarcat) with ESMTPSA id 5E58010E04F From: =?utf-8?Q?Antoine_Beaupr=C3=A9?= To: David Bremner , notmuch@notmuchmail.org Subject: Re: bug: "no top level messages" crash on Zen email loops In-Reply-To: <87woy8vx7i.fsf@tesseract.cs.unb.ca> References: <87d10042pu.fsf@curie.anarc.at> <87woy8vx7i.fsf@tesseract.cs.unb.ca> Date: Mon, 19 Mar 2018 13:50:34 -0400 Message-ID: <87a7v42bv9.fsf@curie.anarc.at> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Mar 2018 17:50:37 -0000 On 2018-03-19 13:36:49, David Bremner wrote: > Antoine Beaupr=C3=A9 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@zendesk.com >> id:9379QM5Z39_5aa86b1350504_174eb3fc97a2cb98c71674_sprut@zendesk.com >> >> `notmuch show` on either messages crashes the same way: >> >> $ notmuch show id:9379QM5Z39_5aa86b1350504_174eb3fc97a2cb98c71674_sprut@= zendesk.com >> Internal error: Thread 0000000000000001 has no toplevel messages. >> (notmuch-show.c:1012) > > I can't duplicate that part.=20=20 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@curie:~1$ diffoscope zendesk-email-loop.tgz zendesk-email-loop= 2.tgz |#########################################################################= #######| 100% Time: 0:00:00=20 --- zendesk-email-loop.tgz +++ zendesk-email-loop2.tgz =E2=94=9C=E2=94=80=E2=94=80 metadata =E2=94=82 @@ -1 +1 @@ =E2=94=82 -gzip compressed data, last modified: Mon Mar 19 13:21:40 2018, f= rom Unix =E2=94=82 +gzip compressed data, last modified: Mon Mar 19 17:38:29 2018, f= rom Unix =E2=94=82 --- zendesk-email-loop.tgz-content =E2=94=9C=E2=94=80=E2=94=80 +++ zendesk-email-loop2.tgz-content =E2=94=9C=E2=94=80=E2=94=80 file list =E2=94=82 =E2=94=82 @@ -1,5 +1,5 @@ =E2=94=82 =E2=94=82 -drwx------ 0 anarcat (1000) anarcat (1000) = 0 2018-03-19 13:11:45.000000 gitlab/cur/ =E2=94=82 =E2=94=82 --rw------- 0 anarcat (1000) anarcat (1000) 8= 858 2018-03-14 00:27:37.000000 gitlab/cur/1521465105.R3423354954039434325.c= urie:2,FS =E2=94=82 =E2=94=82 --rw------- 0 anarcat (1000) anarcat (1000) 11= 861 2018-03-19 08:50:10.000000 gitlab/cur/1521464914.R16228666356894086807.= curie:2,F =E2=94=82 =E2=94=82 +drwx------ 0 anarcat (1000) anarcat (1000) = 0 2018-03-19 17:35:32.000000 gitlab/cur/ =E2=94=82 =E2=94=82 +-rw------- 0 anarcat (1000) anarcat (1000) 8= 858 2018-03-14 00:27:37.000000 gitlab/cur/1521463753.R9368947314807690338.c= urie:2,FS =E2=94=82 =E2=94=82 +-rw------- 0 anarcat (1000) anarcat (1000) 8= 720 2018-03-14 00:30:59.000000 gitlab/cur/1521463752.R13151765805797588408.= curie:2,FS =E2=94=82 =E2=94=82 drwx------ 0 anarcat (1000) anarcat (1000) = 0 2018-03-19 12:49:12.000000 gitlab/new/ =E2=94=82 =E2=94=82 -drwx------ 0 anarcat (1000) anarcat (1000) = 0 2018-03-19 13:11:45.000000 gitlab/tmp/ =E2=94=82 =E2=94=82 +drwx------ 0 anarcat (1000) anarcat (1000) = 0 2018-03-19 12:49:13.000000 gitlab/tmp/ =E2=94=82 --- gitlab/cur/1521465105.R3423354954039434325.curie:2,FS =E2=94=9C=E2=94=80=E2=94=80 +++ 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. --=20 La seule excuse de Dieu, c'est qu'il n'existe pas. - Stendhal