From b36e1e12aeb0cff550334c8a532cd3d57c52b03f Mon Sep 17 00:00:00 2001 From: Rodney Lorrimar Date: Thu, 16 Feb 2012 13:39:01 +0100 Subject: [PATCH] Re: notmuch-emacs bug report -- infinite looping trying to select next message --- a9/899b87405b68a8bc0d3ab6df4ad06c3364d289 | 118 ++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 a9/899b87405b68a8bc0d3ab6df4ad06c3364d289 diff --git a/a9/899b87405b68a8bc0d3ab6df4ad06c3364d289 b/a9/899b87405b68a8bc0d3ab6df4ad06c3364d289 new file mode 100644 index 000000000..a3ea518a4 --- /dev/null +++ b/a9/899b87405b68a8bc0d3ab6df4ad06c3364d289 @@ -0,0 +1,118 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id 53DED429E48 + for ; Thu, 16 Feb 2012 04:38:57 -0800 (PST) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: 0.208 +X-Spam-Level: +X-Spam-Status: No, score=0.208 tagged_above=-999 required=5 + tests=[RCVD_IN_NJABL_PROXY=0.208] 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 hCvLdPqVrnCX for ; + Thu, 16 Feb 2012 04:38:53 -0800 (PST) +Received: from rodney.id.au (rodney.id.au [178.79.159.183]) + (using TLSv1 with cipher AES256-SHA (256/256 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id 890C9429E42 + for ; Thu, 16 Feb 2012 04:38:53 -0800 (PST) +Received: from 239.16-200-80.adsl-dyn.isp.belgacom.be ([80.200.16.239] + helo=boekje.home) + by rodney.id.au with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:16) + (Exim 4.77) (envelope-from ) + id 1Ry0br-0003Rz-9s; Thu, 16 Feb 2012 12:38:51 +0000 +From: Rodney Lorrimar +To: Michael Hudson-Doyle , + notmuch@notmuchmail.org +Subject: Re: notmuch-emacs bug report -- infinite looping trying to select + next message +In-Reply-To: <87ty2tjcx5.fsf@canonical.com> +References: <877gzql7e3.fsf@canonical.com> <87zkcllpkv.fsf@boekje.home> + <87ty2tjcx5.fsf@canonical.com> +User-Agent: Notmuch/0.11.1 (http://notmuchmail.org) Emacs/24.0.93.1 + (x86_64-pc-linux-gnu) +Date: Thu, 16 Feb 2012 13:39:01 +0100 +Message-ID: <87ipj7kl5m.fsf@boekje.home> +MIME-Version: 1.0 +Content-Type: text/plain +X-SA-Exim-Connect-IP: 80.200.16.239 +X-SA-Exim-Mail-From: rodney@rodney.id.au +X-SA-Exim-Scanned: No (on rodney.id.au); SAEximRunCond expanded to false +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +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: Thu, 16 Feb 2012 12:38:57 -0000 + +Hi Michael, + +On Wed, 15 Feb 2012 10:57:42 +1300, Michael Hudson-Doyle wrote: +> Thanks for the reply! +> +> On Tue, 14 Feb 2012 10:41:20 +0100, Rodney Lorrimar wrote: +> > Hi Michael, +> > +> > On Tue, 14 Feb 2012 11:01:56 +1300, Michael Hudson-Doyle wrote: +> > > The attached gzipped mbox appears to trip up the emacs interface. The +> > > problem seems to come from the message with id +> > > CAGNsrLCWv6=36q+q+5Hc_SzgdZ2ergeKkapT7T3xXvim=2cK+A@mail.gmail.com. +> > > +> > > If you load up the thread in emacs, you get a message: +> > > +> > > mm-extern-cache-contents: Couldn't find access type +> > +> > If you put (require 'gnus-art) into your .emacs and eval it, does the +> > problem go away? +> +> No. + +Oh well. + +I loaded up the thread in notmuch and also got an infinite loop. + +> > > Then attempting to advance past the last display message (or pressing A, +> > > or a few other things I expect gets emacs to loop indefinitely. +> > > toggle-debug-on-quit gets me this backtrace: +> > +> > I believe the actual bug is in gnus but I don't really like the loop on +> > error behaviour of notmuch. I would like to try and fix it but haven't +> > found the time. +> +> As far as I can tell, gnus isn't involved here. I may be wrong, of +> course! + +After setting a breakpoint in mm-extern-cache-contents I'm inclined to +agree, but I'm not really sure. + +The following hack to 0.11 works around the problem. I think the experts +here would be able to come up with something better. + +Cheers, + +Rodney + +diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el +index 82d11c9..48c15d2 100644 +--- a/emacs/notmuch-show.el ++++ b/emacs/notmuch-show.el +@@ -327,7 +327,8 @@ current buffer, if possible." + (with-temp-buffer + (let ((handle (mm-make-handle (current-buffer) (list content-type)))) + (if (and (mm-inlinable-p handle) +- (mm-inlined-p handle)) ++ (mm-inlined-p handle) ++ (cdr (mm-handle-type handle))) + (let ((content (notmuch-show-get-bodypart-content msg part nth))) + (insert content) + (set-buffer display-buffer) -- 2.26.2