Re: Errors after upgrade to 0.14
authorAustin Clements <amdragon@MIT.EDU>
Thu, 23 Aug 2012 02:47:25 +0000 (22:47 +2000)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:49:12 +0000 (09:49 -0800)
3b/fb49e33a6698266e27ad58b7a2ce743b7b186d [new file with mode: 0644]

diff --git a/3b/fb49e33a6698266e27ad58b7a2ce743b7b186d b/3b/fb49e33a6698266e27ad58b7a2ce743b7b186d
new file mode 100644 (file)
index 0000000..34199c8
--- /dev/null
@@ -0,0 +1,168 @@
+Return-Path: <amdragon@mit.edu>\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 B041B431FAF\r
+       for <notmuch@notmuchmail.org>; Wed, 22 Aug 2012 19:47:30 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.7\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5\r
+       tests=[RCVD_IN_DNSWL_LOW=-0.7] 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 dSQ55vYOHWAY for <notmuch@notmuchmail.org>;\r
+       Wed, 22 Aug 2012 19:47:29 -0700 (PDT)\r
+Received: from dmz-mailsec-scanner-2.mit.edu (DMZ-MAILSEC-SCANNER-2.MIT.EDU\r
+       [18.9.25.13])\r
+       by olra.theworths.org (Postfix) with ESMTP id 0E42C431FAE\r
+       for <notmuch@notmuchmail.org>; Wed, 22 Aug 2012 19:47:28 -0700 (PDT)\r
+X-AuditID: 1209190d-b7fd56d000000933-7a-503599bf69ff\r
+Received: from mailhub-auth-3.mit.edu ( [18.9.21.43])\r
+       by dmz-mailsec-scanner-2.mit.edu (Symantec Messaging Gateway) with SMTP\r
+       id 8D.62.02355.FB995305; Wed, 22 Aug 2012 22:47:27 -0400 (EDT)\r
+Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103])\r
+       by mailhub-auth-3.mit.edu (8.13.8/8.9.2) with ESMTP id q7N2lRlu020924; \r
+       Wed, 22 Aug 2012 22:47:27 -0400\r
+Received: from awakening.csail.mit.edu (awakening.csail.mit.edu [18.26.4.91])\r
+       (authenticated bits=0)\r
+       (User authenticated as amdragon@ATHENA.MIT.EDU)\r
+       by outgoing.mit.edu (8.13.6/8.12.4) with ESMTP id q7N2lPtW026071\r
+       (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT);\r
+       Wed, 22 Aug 2012 22:47:26 -0400 (EDT)\r
+Received: from amthrax by awakening.csail.mit.edu with local (Exim 4.77)\r
+       (envelope-from <amdragon@mit.edu>)\r
+       id 1T4NS9-0000o9-En; Wed, 22 Aug 2012 22:47:25 -0400\r
+Date: Wed, 22 Aug 2012 22:47:25 -0400\r
+From: Austin Clements <amdragon@MIT.EDU>\r
+To: Bart Bunting <bart@ursys.com.au>\r
+Subject: Re: Errors after upgrade to 0.14\r
+Message-ID: <20120823024725.GY11179@mit.edu>\r
+References: <m2mx1m8pp3.fsf@ursys.com.au> <20120823004117.GT11179@mit.edu>\r
+       <20120823010922.GV11179@mit.edu> <m2mx1m9zd9.fsf@ursys.com.au>\r
+       <20120823013412.GX11179@mit.edu> <m2fw7etmbs.fsf@ursys.com.au>\r
+       <m2k3wq74yg.fsf@ursys.com.au>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset=us-ascii\r
+Content-Disposition: inline\r
+Content-Transfer-Encoding: quoted-printable\r
+In-Reply-To: <m2k3wq74yg.fsf@ursys.com.au>\r
+User-Agent: Mutt/1.5.21 (2010-09-15)\r
+X-Brightmail-Tracker:\r
+ H4sIAAAAAAAAA+NgFlrOKsWRmVeSWpSXmKPExsUixCmqrbt/pmmAwaf/UhYX9+xnt7h+cyaz\r
+       A5PHs1W3mD1OfTnEHsAUxWWTkpqTWZZapG+XwJWxr3E9c8FrjYpdLxexNzD+Vepi5OSQEDCR\r
+       +NyzhB3CFpO4cG89WxcjF4eQwD5Gib8zNzNCOBsYJW5eeMEO4Zxkklj1aTYbSIuQwBJGiVXv\r
+       pUFsFgFViXVn17KA2GwCGhLb9i8H6ubgEBFQkTiygw8kzCwgLfHtdzMTiC0soClxrOcKK4jN\r
+       K6Aj8WluC9TmT4wSZw78Y4ZICEqcnPmEBaJZS+LGv5dMIDNBBi3/xwER1pZYtvA1WDknUMmB\r
+       e/PBThMFWjvl5Da2CYzCs5BMmoVk0iyESbOQTFrAyLKKUTYlt0o3NzEzpzg1Wbc4OTEvL7VI\r
+       10gvN7NELzWldBMjOA4keXcwvjuodIhRgINRiYf3hblpgBBrYllxZe4hRkkOJiVR3hOTgUJ8\r
+       SfkplRmJxRnxRaU5qcWHGCU4mJVEeP9UA+V4UxIrq1KL8mFS0hwsSuK8V1Ju+gsJpCeWpGan\r
+       phakFsFkZTg4lCR4H88AahQsSk1PrUjLzClBSDNxcIIM5wEafhqkhre4IDG3ODMdIn+KUZfj\r
+       /8mTdxmFWPLy81KlxHkPgRQJgBRllObBzYGlr1eM4kBvCfNyAZOZEA8w9cFNegW0hAloidpV\r
+       Y5AlJYkIKakGRpnOZ/9XLa3YYraAI8X0YlG9bL1CifCXj5Hr3q556nC+wGp23MTHwRtbE2Lb\r
+       dpl/NBL9YMp/5jOPq5zaLhfbL9K9i+1ORfsFrGE1zRS7cuPb69Oz75mU68t11RUG31j0QO3B\r
+       ng1fNG6/7hc8eMjtuGCiTFd27+1lQc7/jlzYLse4w83/6Ny1fEosxRmJhlrMRcWJAMYNTI86        AwAA\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 02:47:30 -0000\r
+\r
+Fun.  It looks like several things are colluding to cause problems\r
+here.  The root problem is still concurrent database access, judging\r
+by the error messages embedded in the string passed to\r
+notmuch-search-process-filter, but it's being handled poorly at\r
+several layers.  First, _notmuch_thread_create in the library doesn't\r
+notice when notmuch_query_search_messages fails, so it constructs an\r
+empty thread object, rather than indicating failure, which\r
+notmuch-search.c dutifully emits.  But by that point the damage has\r
+already been done by the error printed deep in the bowels of the\r
+library.  Somehow that error message is tripping up the incremental\r
+parser (exactly how I'm unclear on) and causing it to read the string\r
+"tags" as a list-level JSON object, which it then passes to\r
+notmuch-search-show-result as a result object.  Since it's not a\r
+result object, plist-get returns nil, which causes =3D to raise the\r
+error.\r
+\r
+This is probably a bug in the error recovery of the incremental JSON\r
+parser (or its use in search-mode), since the output below looks clean\r
+enough that it *should* be able to catch the error and resynchronize.\r
+\r
+Quoth Bart Bunting on Aug 23 at 11:49 am:\r
+> Ok perhaps this is more helpfull?\r
+>=20\r
+> Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)\r
+>   notmuch-search-show-result("tags")\r
+>   byte-code("\304=08\305\"\203\306   !\307=3D\203\310\202Q\303\202Q\304=08\=\r
+311\"\203D\312 !\304=0B\313\"\2030\310\202@\304=0B\314\"\203<\315\202@\316=\r
+=0B!\210)\202Q\304=08\317\"\203Q\320   !\210\310\304\207" [notmuch-search-pro=\r
+cess-state notmuch-search-json-parser done result memql (begin) notmuch-jso=\r
+n-begin-compound retry t (result) notmuch-json-read (retry) (end) end notmu=\r
+ch-search-show-result (end) notmuch-json-eof] 3)\r
+>   notmuch-search-process-filter(#<process notmuch-search> ", \"tags\": []=\r
+},\nA Xapian exception occurred performing query: The revision being read h=\r
+as been discarded - you should call Xapian::Database::reopen() and retry th=\r
+e operation\nQuery string was: thread:0000000000020a59\n{\"thread\": \"0000=\r
+00000001fd19\", \"timestamp\": 0, \"date_relative\": \"1970-01-01\", \"matc=\r
+hed\": 0, \"total\": 0, \"authors\": \"\", \"subject\": \"\", \"tags\": []}=\r
+,\nA Xapian exception occurred performing query: The revision being read ha=\r
+s been discarded - you should call Xapian::Database::reopen() and retry the=\r
+ operation\nQuery string was: thread:0000000000020a57\n{\"thread\": \"00000=\r
+00000020a59\", \"timestamp\": 0, \"date_relative\": \"1970-01-01\", \"match=\r
+ed\": 0, \"total\": 0, \"authors\": \"\", \"subject\": \"\", \"tags\": []},=\r
+\nA Xapian exception occurred performing query: The revision being read has=\r
+ been discarded - you should call Xapian::Database::reopen() and retry the =\r
+operation\nQuery string was: thread:0000000000020a57\n{\"thread\": \"000000=\r
+0000020a57\", \"timestamp\": 0, \"date_relative\": \"1970-01-01\", \"matche=\r
+d\": 0, \"total\": 0, \"authors\": ")\r
+>   recursive-edit()\r
+>   debug(error (error "A Xapian exception occurred opening database: Unabl=\r
+e to get write lock on /Users/bart/mail/.notmuch/xapian: already locked"))\r
+>   ad-Orig-signal(error ("A Xapian exception occurred opening database: Un=\r
+able to get write lock on /Users/bart/mail/.notmuch/xapian: already locked"=\r
+))\r
+>   signal(error ("A Xapian exception occurred opening database: Unable to =\r
+get write lock on /Users/bart/mail/.notmuch/xapian: already locked"))\r
+>   ad-Orig-error("A Xapian exception occurred opening database: Unable to =\r
+get write lock on /Users/bart/mail/.notmuch/xapian: already locked")\r
+>   apply(ad-Orig-error "A Xapian exception occurred opening database: Unab=\r
+le to get write lock on /Users/bart/mail/.notmuch/xapian: already locked")\r
+>   error("A Xapian exception occurred opening database: Unable to get writ=\r
+e lock on /Users/bart/mail/.notmuch/xapian: already locked")\r
+>   notmuch-call-notmuch-process("tag" "-inbox" "--" "thread:00000000000222=\r
+88")\r
+>   apply(notmuch-call-notmuch-process "tag" ("-inbox" "--" "thread:0000000=\r
+000022288"))\r
+>   notmuch-tag("thread:0000000000022288" ("-inbox"))\r
+>   notmuch-search-tag-region(202 202 ("-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
+>   recursive-edit()\r
+>   debug(error (error "A Xapian exception occurred opening database: Unabl=\r
+e to get write lock on /Users/bart/mail/.notmuch/xapian: already locked"))\r
+>   ad-Orig-signal(error ("A Xapian exception occurred opening database: Un=\r
+able to get write lock on /Users/bart/mail/.notmuch/xapian: already locked"=\r
+))\r
+>   signal(error ("A Xapian exception occurred opening database: Unable to =\r
+get write lock on /Users/bart/mail/.notmuch/xapian: already locked"))\r
+>   ad-Orig-error("A Xapian exception occurred opening database: Unable to =\r
+get write lock on /Users/bart/mail/.notmuch/xapian: already locked")\r
+>   apply(ad-Orig-error "A Xapian exception occurred opening database: Unab=\r
+le to get write lock on /Users/bart/mail/.notmuch/xapian: already locked")\r
+>=20\r
+>=20\r
+> Kind regards\r
+>=20\r
+> Bart\r