From 71a08e7823bd7ce1cb9ebf991fdb2a7c8815df58 Mon Sep 17 00:00:00 2001 From: Bart Bunting Date: Thu, 23 Aug 2012 11:21:54 +1000 Subject: [PATCH] Re: Errors after upgrade to 0.14 --- c6/5b1a986ce6e6d02f1ad1ce19dae9ec5751de18 | 145 ++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 c6/5b1a986ce6e6d02f1ad1ce19dae9ec5751de18 diff --git a/c6/5b1a986ce6e6d02f1ad1ce19dae9ec5751de18 b/c6/5b1a986ce6e6d02f1ad1ce19dae9ec5751de18 new file mode 100644 index 000000000..275e05316 --- /dev/null +++ b/c6/5b1a986ce6e6d02f1ad1ce19dae9ec5751de18 @@ -0,0 +1,145 @@ +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 B828E431FAF + for ; Wed, 22 Aug 2012 18:21:59 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: 0 +X-Spam-Level: +X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] + 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 d1gYuJfOjMkE for ; + Wed, 22 Aug 2012 18:21:59 -0700 (PDT) +Received: from bit.local (that.urnet.com.au [203.7.149.1]) + by olra.theworths.org (Postfix) with ESMTP id 8256F431FAE + for ; Wed, 22 Aug 2012 18:21:58 -0700 (PDT) +Received: by bit.local (Postfix, from userid 501) + id 1E2AF12AAFC9; Thu, 23 Aug 2012 11:21:55 +1000 (EST) +From: "Bart Bunting" +To: Austin Clements +Subject: Re: Errors after upgrade to 0.14 +In-Reply-To: <20120823010922.GV11179@mit.edu> +References: <20120823004117.GT11179@mit.edu> + <20120823010922.GV11179@mit.edu> +User-Agent: Notmuch/0.13.2+128~g369b28d (http://notmuchmail.org) + Emacs/24.2.50.1 (i386-apple-darwin12.0.0) +Date: Thu, 23 Aug 2012 11:21:54 +1000 +Message-ID: +MIME-Version: 1.0 +Content-Type: text/plain +Cc: 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." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Thu, 23 Aug 2012 01:21:59 -0000 + +Hi Austin, + +I applied the patch and this error was from after that. + +The way it was triggered was by hitting 'a' to archive a message in the +search view. + +>From what I can tell it's just the xapian error and there is nothing +about json. Hope it means more to you. + +Debugger entered--Lisp error: (error "A Xapian exception occurred opening database: Unable to get write lock on /Users/bart/mail/.notmuch/xapian: already locked") + ad-Orig-signal(error ("A Xapian exception occurred opening database: Unable to get write lock on /Users/bart/mail/.notmuch/xapian: already locked")) + signal(error ("A Xapian exception occurred opening database: Unable to get write lock on /Users/bart/mail/.notmuch/xapian: already locked")) + ad-Orig-error("A Xapian exception occurred opening database: Unable to get write lock on /Users/bart/mail/.notmuch/xapian: already locked") + apply(ad-Orig-error "A Xapian exception occurred opening database: Unable to get write lock on /Users/bart/mail/.notmuch/xapian: already locked") + error("A Xapian exception occurred opening database: Unable to get write lock on /Users/bart/mail/.notmuch/xapian: already locked") + notmuch-call-notmuch-process("tag" "-inbox" "--" "thread:00000000000225c8") + apply(notmuch-call-notmuch-process "tag" ("-inbox" "--" "thread:00000000000225c8")) + notmuch-tag("thread:00000000000225c8" ("-inbox")) + notmuch-search-tag-region(800 800 ("-inbox")) + notmuch-search-tag(("-inbox")) + ad-Orig-notmuch-search-archive-thread() + notmuch-search-archive-thread() + call-interactively(notmuch-search-archive-thread nil nil) + + +Kind regards + +Austin Clements writes: + +> Quoth myself on Aug 22 at 8:41 pm: +>> Quoth Bart Bunting on Aug 23 at 9:36 am: +>> > Good morning, +>> > +>> > After upgrading to notmuch 014 I am seeing the following messages appear +>> > in the messages buffer. +>> > +>> > error in process filter: byte-code: Wrong type argument: number-or-marker-p, nil +>> > error in process filter: Wrong type argument: number-or-marker-p, nil +>> > +>> > I am also getting a repeating message in the minibuffer (I think) which +>> > says something like "json read tail error". Sorry that I am not more +>> > specific as I use emacspeak and this message appears to repeat many +>> > times interupting speech so I am not 100% sure of what it exactly says. +>> +>> This is probably "json-readtable-error", which is, unfortunately, +>> about the most generic error the JSON parser can give. +>> +>> > My gut feeling is that it is happening when notmuch is updating the +>> > database or something. +>> > +>> > Is this expected behaviour? It is particularly annoying for me as it +>> > sends the speech synth crazy and crashes it for a period of about 30 +>> > seconds. +>> > +>> > If it is expected then I will try and find a way to prevent emacspeak +>> > from trying to read it. +>> +>> This is definitely not expected behavior. Does this happen when +>> you're searching for messages or when you're viewing a thread? Can +>> you give any more details on what you're doing when you get this +>> error? +>> +>> Try doing M-x toggle-debug-on-error and then triggering the error. +>> Hopefully Emacs will give you a buffer with a backtrace that will give +>> us a better idea of where this is happening. +> +> Actually, I might know what's going on here. Based on your suspicion +> about notmuch updating the database and assuming that this happens in +> the search buffer, I think the parser error recovery code is leaving +> the parser in a slightly invalid state, which causes the next +> invocation to think it can consume more data when there is no more +> data to consume. I would expect that to give at most one readtable +> error, but maybe there's something I'm overlooking. +> +> Could you try the following one line patch? +> +> diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el +> index 900235b..a09c0f6 100644 +> --- a/emacs/notmuch-lib.el +> +++ b/emacs/notmuch-lib.el +> @@ -375,7 +375,7 @@ resynchronize after an error by moving point." +> +> (if (eq (notmuch-json-next jp) 'value) +> ;; We're already at a value +> - nil +> + (if (eobp) 'retry nil) +> ;; Drive the state toward 'expect-value +> (skip-chars-forward " \t\r\n") +> (or (when (eobp) 'retry) +> +Bart +-- +Bart Bunting - Engineering Manager - URSYS +459-461 Parramatta Rd. Leichhardt NSW 2040 Australia +Ph: +61 2 8745 2811 +Mbl: 0409 560 005 -- 2.26.2