Closed romanofski closed 6 years ago
@romanofski So this was not including the new commit(s) from that latest hs-notmuch PR?
The error occurs during in query_search_threads
. What version of libnotmuch is this built against?
(Check libnotmuch.h
)
I have a reproducer (well I'm not 100% sure because I have nfi what fedora is doing with my core dumps...). Looks like maybe we have to keep the query live for thread iteration (this does not seem to be the case for messages...)
In regards to hs-notmuch, it was not including the new commits. I can safely rule them out. Libnotmuch version is 5.0.0 and package version of notmuch-devel
is 0.25
Oh and in regards to the core dumps, I think the default is configured to use 'abrt' so the CLI version is 'abrt-cli'
@romanofski thanks, I think I have a fix. Got to test some related scenarios.
The problem goes much deeper... I've found lots of different scenarios that cause problems. I think I'm gonna have to redesign the library somewhat :O
ooh oh I'd be interested to know what you've found out.
Basically its to do with pointer ownership. Some iterators seem to point back into the object that they were created from (e.g. threads_t iterator points into query, messages_t iterator points into thread, etc). But it may go even further than that, e.g. with messages created from a message iterator pointed back into the owner object. So the goal of detaching all the pointers and just letting haskell's GC take care of cleanup is not cutting it.
I think I've introduced a regression with adding support for threads. When the query yields a lot of search results, I'm running into a
SIGABRT
with purebred. I don't have a reproducer yet, only data to offer.Compiled against: b6dd23038a76c63a63ad7cd112545ee105d9fad3