crash during saving
authorVladimir Marek <Vladimir.Marek@Oracle.COM>
Tue, 16 Apr 2013 13:56:00 +0000 (15:56 +0200)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:54:23 +0000 (09:54 -0800)
83/95742e8ed9119dc3aebd16d251f1cb254fbff0 [new file with mode: 0644]

diff --git a/83/95742e8ed9119dc3aebd16d251f1cb254fbff0 b/83/95742e8ed9119dc3aebd16d251f1cb254fbff0
new file mode 100644 (file)
index 0000000..174e397
--- /dev/null
@@ -0,0 +1,185 @@
+Return-Path: <Vladimir.Marek@Oracle.COM>\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 D512D431FB6\r
+       for <notmuch@notmuchmail.org>; Tue, 16 Apr 2013 07:54:00 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -2.299\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-2.299 tagged_above=-999 required=5\r
+       tests=[RCVD_IN_DNSWL_MED=-2.3, UNPARSEABLE_RELAY=0.001]\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 WV8RKWh6DDAy for <notmuch@notmuchmail.org>;\r
+       Tue, 16 Apr 2013 07:54:00 -0700 (PDT)\r
+X-Greylist: delayed 3359 seconds by postgrey-1.32 at olra;\r
+       Tue, 16 Apr 2013 07:54:00 PDT\r
+Received: from userp1050.oracle.com (userp1050.oracle.com [156.151.31.82])\r
+       (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))\r
+       (No client certificate requested)\r
+       by olra.theworths.org (Postfix) with ESMTPS id 0B8AB431FAF\r
+       for <notmuch@notmuchmail.org>; Tue, 16 Apr 2013 07:53:59 -0700 (PDT)\r
+Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81])\r
+       by userp1050.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with\r
+       ESMTP id r3GDw1br025306\r
+       (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK)\r
+       for <notmuch@notmuchmail.org>; Tue, 16 Apr 2013 13:58:02 GMT\r
+Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])\r
+       by userp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with\r
+       ESMTP id r3GDvxdm032644\r
+       (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK)\r
+       for <notmuch@notmuchmail.org>; Tue, 16 Apr 2013 13:58:00 GMT\r
+Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230])\r
+       by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id\r
+       r3GDvwqS009239\r
+       (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL)\r
+       for <notmuch@notmuchmail.org>; Tue, 16 Apr 2013 13:57:59 GMT\r
+Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55])\r
+       by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id\r
+       r3GDvw1p009228\r
+       for <notmuch@notmuchmail.org>; Tue, 16 Apr 2013 13:57:58 GMT\r
+Received: from pub.cz.oracle.com (/10.163.101.122)\r
+       by default (Oracle Beehive Gateway v4.0)\r
+       with ESMTP ; Tue, 16 Apr 2013 06:57:57 -0700\r
+Date: Tue, 16 Apr 2013 15:56:00 +0200\r
+From: Vladimir Marek <Vladimir.Marek@Oracle.COM>\r
+To: notmuch@notmuchmail.org\r
+Subject: crash during saving\r
+Message-ID: <20130416135600.GA7807@pub.cz.oracle.com>\r
+Mail-Followup-To: notmuch@notmuchmail.org\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset=utf-8\r
+Content-Disposition: inline\r
+User-Agent: Mutt/1.5.21 (2010-09-15)\r
+X-Source-IP: userp1040.oracle.com [156.151.31.81]\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: Tue, 16 Apr 2013 14:54:01 -0000\r
+\r
+Hi,\r
+\r
+I just indexed my mail archive by notmuch and I'm starting to play with\r
+mutt-kz. The biggest stopper right now is that mutt cores when set\r
+already read mail to new (toggle-new in mutt). Once I try to leave the\r
+virtual folder (be it to another folder or because of quitting mutt) it\r
+crashes.\r
+\r
+I haven't had the time yet to investigate deeper, so I'll just post\r
+whatever info I have and hope that it will be something obvious for you\r
+:)\r
+\r
+It seems that mutt is calling "notmuch_message_maildir_flags_to_tags"\r
+which in turn tries to remove flag "draft" which probably is not present\r
+and thus raises an exception. Does\r
+"notmuch_message_maildir_flags_to_tags" expect the mail to be in certain\r
+state (have certain flags set) or it should not crash no matter which\r
+flags were and are now set?\r
+\r
+Now to be fair I have to say that this is on Solaris with handful of\r
+patches applied to make notmuch compilable there by Oracle Studio\r
+compilers. (I'm working on finalizing the patches to have them suitable\r
+for review, which I want to post soon).\r
+\r
+Any tips welcome :)\r
+\r
+Thank you\r
+-- \r
+       Vlad\r
+\r
+The stack looks like:\r
+\r
+(dbx) where\r
+  [1] _lwp_kill(0x1, 0x6, 0xfeffd028, 0xfe5f2168), at 0xfe5f9265\r
+  [2] thr_kill(0x1, 0x6, 0xfeffd028, 0xfe5a0fe1), at 0xfe5f218a\r
+  [3] raise(0x6, 0x0, 0xfeffd084, 0xfe57873d), at 0xfe5a0fed\r
+  [4] abort(0x0), at 0xfe57875d\r
+  [5] __Cimpl::default_terminate(0x0), at 0x8705898\r
+  [6] std::terminate(0x0, 0x89290a8, 0xfeffd0ac, 0x89290a8, 0x0, 0x89290a8), at 0x87055cb\r
+  [7] __Cimpl::ex_terminate(0x884afac, 0x0), at 0x8705736\r
+  ---- hidden frames, use 'where -h' to see them all ----\r
+=>[10] Xapian::Document::Internal::remove_term(this = 0x8b14cb8, tname = CLASS), line 404 in "omdocument.cc"\r
+  [11] Xapian::Document::remove_term(this = 0x98e3684, tname = CLASS), line 156 in "omdocument.cc"\r
+  [12] _notmuch_message_remove_term(message = 0x98e3650, prefix_name = 0x884149b "tag", value = 0x88e9f09 "draft"), line 960 in "message.cc"\r
+  [13] notmuch_message_remove_tag(message = 0x98e3650, tag = 0x88e9f09 "draft"), line 1019 in "message.cc"\r
+  [14] notmuch_message_maildir_flags_to_tags(message = 0x98e3650), line 1126 in "message.cc"\r
+  [15] rename_filename(db = 0x98e26c0, old = 0xfeffd48d "/tank/vm/vmarek/mail/archive/064/cur/1366056222.6981_56079.vi64-x3-2e-prg06:2,S", new = 0xfeffd38e "/tank/vm/vmarek/mail/archive/064/cur/1366056222.6981_56079.vi64-x3-2e-prg06:2,", h = 0x8b1b880), line 1192 in "mutt_notmuch.c"\r
+  [16] nm_sync(ctx = 0x8ac77f0, index_hint = 0xfeffdb68), line 1277 in "mutt_notmuch.c"\r
+  [17] sync_mailbox(ctx = 0x8ac77f0, index_hint = 0xfeffdb68), line 822 in "mx.c"\r
+  [18] mx_close_mailbox(ctx = 0x8ac77f0, index_hint = 0xfeffdb68), line 1020 in "mx.c"\r
+  [19] mutt_index_menu(), line 954 in "curs_main.c"\r
+  [20] main(argc = 1, argv = 0xfeffea38), line 1056 in "main.c"\r
+\r
+\r
+\r
+\r
+(dbx) print -r tname\r
+tname = {\r
+    basic_string<char,std::char_traits<char>,std::allocator<char> >::_String_base<char,std::allocator<char> >::_M_start          = 0x8b2b900 "Kdraft"\r
+    basic_string<char,std::char_traits<char>,std::allocator<char> >::_String_base<char,std::allocator<char> >::_M_finish         = 0x8b2b906 ""\r
+    basic_string<char,std::char_traits<char>,std::allocator<char> >::_String_base<char,std::allocator<char> >::_M_end_of_storage = {\r
+        basic_string<char,std::char_traits<char>,std::allocator<char> >::_String_base<char,std::allocator<char> >::_STLP_alloc_proxy<char*,char,std::allocator<char> >::_M_data = 0x8b2b907 "T^O"\r
+    } \r
+}\r
+\r
+\r
+\r
+(dbx) list    \r
+  404           throw Xapian::InvalidArgumentError("Term `" + tname +\r
+  405                   "' is not present in document, in "\r
+  406                   "Xapian::Document::Internal::remove_term()");\r
+  407       }\r
+  408       positions_modified = !i->second.positions.empty();\r
+  409       terms.erase(i);\r
+  410   }\r
+  411           \r
+  412   void\r
+  413   Xapian::Document::Internal::clear_terms()\r
+\r
+\r
+\r
+\r
+(dbx) frame 15\r
+Current function is rename_filename\r
+ 1192                   notmuch_message_maildir_flags_to_tags(msg);\r
+(dbx) list    \r
+ 1192                   notmuch_message_maildir_flags_to_tags(msg);\r
+ 1193                   update_tags(msg, nm_header_get_tags(h));\r
+ 1194           }\r
+ 1195   \r
+ 1196           rc = 0;\r
+ 1197   done:\r
+ 1198           if (msg)\r
+ 1199                   notmuch_message_destroy(msg);\r
+ 1200           notmuch_database_end_atomic(db);\r
+ 1201           return rc;\r
+\r
+\r
+(dbx) frame 14\r
+Current function is notmuch_message_maildir_flags_to_tags\r
+ 1126               status = notmuch_message_remove_tag (message, flag2tag[i].tag);\r
+\r
+(dbx) print filename\r
+filename = 0x8b24e10 "/tank/vm/vmarek/mail/archive/064/cur/1366056222.6981_56079.vi64-x3-2e-prg06:2,"\r
+\r
+(dbx) print *flags  \r
+*flags = '\0'\r
+\r
+(dbx) print *filenames\r
+*filenames = {\r
+    iterator = (nil)\r
+}\r
+\r
+\r