Parsing regression with gmime-2.6?

Subject: Parsing regression with gmime-2.6?

Date: Tue, 06 Mar 2012 18:04:50 -0400

To: Austin Clements, notmuch@notmuchmail.org

Cc: Daniel Kahn Gillmor

From: David Bremner


On Tue,  6 Mar 2012 18:26:57 +0000, Austin Clements <amdragon@MIT.EDU> wrote:
> ---
>  mime-node.c |   15 +++++++++++++++
>  1 files changed, 15 insertions(+), 0 deletions(-)

There seems to be something weird going on with gmime-2.6; maybe we
didn't catch some api change? 

I noticed a surprising number of messages failing to parse, so I wrote a
script to take a random sample of 1000 messages and run notmuch show on
them. A shocking 650 to 700 of them fail to parse with gmime-2.6. No
failures are reported with gmime-2.4.

I tried with your patch, and then took a couple of the id's it reported
and tried them on the release branch, and the failed (segfaulted) there.

I don't know at this point if it is something specific to my setup, or
my testing methedology is just hare-brained, but I'd appreciate it if
people could try austin's patch, gmime-2.6, and my script on their
mailstore and let me know how many id's it spits out (if any).

#!/usr/bin/bash

NOTMUCH=${NOTMUCH-notmuch}

if [ ! -f test-ids.txt ]; then
    notmuch dump | shuf -n 1000 | cut -f1 -d' ' > test-ids.txt
else
    echo "Re-using test-ids.txt" 1>&2
fi

while read id; do
    output=$(${NOTMUCH} show --format=json id:$id 2>&1 1>/dev/null)
    case "$output" in
	"Failed to parse"*)
	    echo $id
	    ;;
	*)
    esac
done <test-ids.txt

Thread: