From b7b183164ff7dea2751cda547248785f8bff57fd Mon Sep 17 00:00:00 2001 From: Blake Jones Date: Thu, 18 Apr 2013 07:05:29 +1700 Subject: [PATCH] Re: crash during saving --- 8d/09bafca0214a6737f25bbaa5409e1270d33453 | 76 +++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 8d/09bafca0214a6737f25bbaa5409e1270d33453 diff --git a/8d/09bafca0214a6737f25bbaa5409e1270d33453 b/8d/09bafca0214a6737f25bbaa5409e1270d33453 new file mode 100644 index 000000000..d2dc2220c --- /dev/null +++ b/8d/09bafca0214a6737f25bbaa5409e1270d33453 @@ -0,0 +1,76 @@ +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 EF9F7431FB6 + for ; Wed, 17 Apr 2013 07:05:31 -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 OVx+S4QWD055 for ; + Wed, 17 Apr 2013 07:05:31 -0700 (PDT) +Received: from foo.net (70-36-235-136.dsl.static.sonic.net [70.36.235.136]) + (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id 68940431FAF + for ; Wed, 17 Apr 2013 07:05:31 -0700 (PDT) +Received: from foo.net (localhost [127.0.0.1]) + by foo.net (8.14.5+Sun/8.14.5) with ESMTP id r3HE5T2m020042; + Wed, 17 Apr 2013 07:05:29 -0700 (PDT) +To: Vladimir Marek +Subject: Re: crash during saving +In-Reply-To: Your message of "Wed, 17 Apr 2013 10:53:54 +0200." + <20130417085354.GE7807@pub.cz.oracle.com> +Date: Wed, 17 Apr 2013 07:05:29 -0700 +Message-ID: <20041.1366207529@foo.net> +From: Blake Jones +X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0.2 + (foo.net [127.0.0.1]); Wed, 17 Apr 2013 07:05:30 -0700 (PDT) +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: Wed, 17 Apr 2013 14:05:32 -0000 + +> Right, so the problem really seems to be in throwing/catching +> exception. Function "_notmuch_message_remove_term" is supposed to +> catch the exception and ignore it. Which does not happen in my case. + +Yep, that was exactly what I was seeing. + +> On a side note, I wonder, is catching exception faster than going +> through list of tags to see if given tag exists? Might be interesting +> to compare. + +I tried that as a workaround at first (just to get it working, not +caring about performance). But I realized that libxapian uses +exceptions for a lot of failure modes, and I actually ran into one or +two others, so I decided I needed to just get it working. + +To simplify the problem, you might want to try building a very simple +stub version of the whole thing -- i.e. a C program that makes a call to +a C-interface "liba", which just makes a call into a C++ "libb" library +and tries to catch an exception from it; the "libb" library would just +throw an exception. If that reproduces the problem, that might help you +debug your setup. + +(Again, I eventually settled on using GCC 4.5.2, and didn't have the +intestinal fortitude to get Studio working. Especially once I saw +problems with C++ exception handling. If you can get it working, more +power to you!) + +Blake -- 2.26.2