crash during saving

Blake Jones blakej at foo.net
Wed Apr 17 07:05:29 PDT 2013


> 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


More information about the notmuch mailing list