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