From 03a09536f5cdcc485deaf2a674bdd4bfc63ddfb8 Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Thu, 23 Aug 2012 21:34:12 +2000 Subject: [PATCH] Re: Errors after upgrade to 0.14 --- 1b/7328b7c8be812852fc6ca83e167e39bea50257 | 179 ++++++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 1b/7328b7c8be812852fc6ca83e167e39bea50257 diff --git a/1b/7328b7c8be812852fc6ca83e167e39bea50257 b/1b/7328b7c8be812852fc6ca83e167e39bea50257 new file mode 100644 index 000000000..35072348a --- /dev/null +++ b/1b/7328b7c8be812852fc6ca83e167e39bea50257 @@ -0,0 +1,179 @@ +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 DC13D431FAF + for ; Wed, 22 Aug 2012 18:34:16 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: -0.7 +X-Spam-Level: +X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5 + tests=[RCVD_IN_DNSWL_LOW=-0.7] 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 Ektz6Y1wQEdX for ; + Wed, 22 Aug 2012 18:34:16 -0700 (PDT) +Received: from dmz-mailsec-scanner-7.mit.edu (DMZ-MAILSEC-SCANNER-7.MIT.EDU + [18.7.68.36]) + by olra.theworths.org (Postfix) with ESMTP id DFDFF431FAE + for ; Wed, 22 Aug 2012 18:34:15 -0700 (PDT) +X-AuditID: 12074424-b7fa06d0000008c2-c1-503588979310 +Received: from mailhub-auth-3.mit.edu ( [18.9.21.43]) + by dmz-mailsec-scanner-7.mit.edu (Symantec Messaging Gateway) with SMTP + id A8.0E.02242.79885305; Wed, 22 Aug 2012 21:34:15 -0400 (EDT) +Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103]) + by mailhub-auth-3.mit.edu (8.13.8/8.9.2) with ESMTP id q7N1YDAK015517; + Wed, 22 Aug 2012 21:34:14 -0400 +Received: from awakening.csail.mit.edu (awakening.csail.mit.edu [18.26.4.91]) + (authenticated bits=0) + (User authenticated as amdragon@ATHENA.MIT.EDU) + by outgoing.mit.edu (8.13.6/8.12.4) with ESMTP id q7N1YC8f019546 + (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT); + Wed, 22 Aug 2012 21:34:13 -0400 (EDT) +Received: from amthrax by awakening.csail.mit.edu with local (Exim 4.77) + (envelope-from ) + id 1T4MJI-0000eQ-56; Wed, 22 Aug 2012 21:34:12 -0400 +Date: Wed, 22 Aug 2012 21:34:12 -0400 +From: Austin Clements +To: Bart Bunting +Subject: Re: Errors after upgrade to 0.14 +Message-ID: <20120823013412.GX11179@mit.edu> +References: <20120823004117.GT11179@mit.edu> + <20120823010922.GV11179@mit.edu> +MIME-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline +In-Reply-To: +User-Agent: Mutt/1.5.21 (2010-09-15) +X-Brightmail-Tracker: + H4sIAAAAAAAAA+NgFmphleLIzCtJLcpLzFFi42IR4hTV1p3eYRpgsGemsMXFPfvZLa7fnMns + wOTxbNUtZo9TXw6xBzBFcdmkpOZklqUW6dslcGUcWLCHueCFesXpqdeZGhjvyncxcnJICJhI + 3NxynRnCFpO4cG89WxcjF4eQwD5Gid/zvrFDOBsYJaY93gaVOckksX3rXSYIZwmjxIKNu8H6 + WQRUJXYdO8cCYrMJaEhs27+csYuRg0NEQEXiyA4+kDCzgLTEt9/NTCC2sICmxLGeK6wgNq+A + jsSt9yehFvQzSnz6cIYFIiEocXLmExaIZi2JG/9eMoHMBBm0/B8HSJgTKHzm6RywmaJAq6ac + 3MY2gVFoFpLuWUi6ZyF0L2BkXsUom5JbpZubmJlTnJqsW5ycmJeXWqRrrpebWaKXmlK6iREU + 2OwuKjsYmw8pHWIU4GBU4uF9YW4aIMSaWFZcmXuIUZKDSUmUV7QdKMSXlJ9SmZFYnBFfVJqT + WnyIUYKDWUmE9081UI43JbGyKrUoHyYlzcGiJM57PeWmv5BAemJJanZqakFqEUxWhoNDSYLX + EBjBQoJFqempFWmZOSUIaSYOTpDhPEDDpUFqeIsLEnOLM9Mh8qcYFaXEedlAEgIgiYzSPLhe + WOJ5xSgO9Iow7wqQu3mASQuu+xXQYCagwWpXjUEGlyQipKQaGAX4k7bzmTVN1FHWP9L30/9k + 7drzF1PYnFIuWp353dnx8OZne8Vp589HV1a9aov6df9wYEeiifKxl3tc5gVtan9Uz+hQtC75 + tsr5EokuYe8ADwn7qRyCmRcb256xXbvkN6vB5E9nZFGlY9bEr2py3jILlJfJ7f6xqTy/mGf6 + NJUTb6rZb+S1K7EUZyQaajEXFScCANmAhyoXAwAA +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:34:17 -0000 + +This looks like a different error from the one in your original email. +Was the original error also triggered by hitting 'a'? + +This error is definitely from simultaneous access to the database and +is expected. But this has been a problem since the dawn of notmuch +and shouldn't have started just with 0.14 (unless we did something to +make it worse?). I do have some experimental patches that fix the +database locking issues if it's turning out to be a serious problem +for you, but the fix introduces its own issues. + +Quoth Bart Bunting on Aug 23 at 11:21 am: +> 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) +> > -- 2.26.2