From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <olly@survex.com>
Received: from localhost (localhost [127.0.0.1])
	by olra.theworths.org (Postfix) with ESMTP id 44E51431FB6
	for <notmuch@notmuchmail.org>; Fri,  6 Sep 2013 16:35:30 -0700 (PDT)
X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
X-Spam-Flag: NO
X-Spam-Score: -2.3
X-Spam-Level: 
X-Spam-Status: No, score=-2.3 tagged_above=-999 required=5
	tests=[RCVD_IN_DNSWL_MED=-2.3] autolearn=disabled
Received: from olra.theworths.org ([127.0.0.1])
	by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id fypeHTEBJ8-i for <notmuch@notmuchmail.org>;
	Fri,  6 Sep 2013 16:35:25 -0700 (PDT)
X-Greylist: delayed 7525 seconds by postgrey-1.32 at olra;
	Fri, 06 Sep 2013 16:35:25 PDT
Received: from atreus.tartarus.org (atreus.tartarus.org [80.252.125.10])
	(using TLSv1 with cipher AES256-SHA (256/256 bits))
	(No client certificate requested)
	by olra.theworths.org (Postfix) with ESMTPS id 617F4431FAF
	for <notmuch@notmuchmail.org>; Fri,  6 Sep 2013 16:35:25 -0700 (PDT)
Received: from olly by atreus.tartarus.org with local (Exim 4.69)
	(envelope-from <olly@survex.com>)
	id 1VI3bG-0006LV-Sv; Fri, 06 Sep 2013 22:29:54 +0100
Date: Fri, 6 Sep 2013 22:29:54 +0100
From: Olly Betts <olly@survex.com>
To: David Bremner <david@tethera.net>
Subject: Re: segfault with xapian 1.3.1
Message-ID: <20130906212954.GB31164@survex.com>
References: <CAHmME9q3H2KKBRb_VU4Rr-pc+2qR=uPxiX8YPBFE4N0DaiidAA@mail.gmail.com>
	<87txhypzvz.fsf@zancas.localnet> <87r4d2pwv1.fsf@zancas.localnet>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <87r4d2pwv1.fsf@zancas.localnet>
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: notmuch ML <notmuch@notmuchmail.org>
X-BeenThere: notmuch@notmuchmail.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: "Use and development of the notmuch mail system."
	<notmuch.notmuchmail.org>
List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
	<mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
List-Archive: <http://notmuchmail.org/pipermail/notmuch>
List-Post: <mailto:notmuch@notmuchmail.org>
List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
	<mailto:notmuch-request@notmuchmail.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Sep 2013 23:35:30 -0000

Olly wrote on  IRC:
> bremner: ok, 1.2 explicitly no-oped skip_to() on an iterator at_end on
> trunk that code has been rewritten without that explicit check, and
> the iterator internals are NULL then i think restoring the check is
> reasonable, though I'm not sure if we actually promise that's defined
> behaviour if you want to work with 1.3.1, then checking against the
> end iterator before calling skip_to() will work for any version

I've put a NULL check in there, and also for the other iterator classes
which use NULL internals to signify being at the end - this only worked
for TermIterator in 1.2.x, but it seems reasonable to make it work in
general and a NULL pointer check isn't a big overhead.

On Thu, Sep 05, 2013 at 10:22:42PM -0300, David Bremner wrote:
> So, now we know what to fix.

This should work again in 1.3.2 (once it is out), but if you want to
support 1.3.1 then you need the check.

Cheers,
    Olly