Update: I can reproduce it with IndexSearcher too. Previously I had said
that it was only happening in PolySearcher...

On Thu, Jan 5, 2017 at 4:31 PM, Serkan Mulayim <serkanmula...@gmail.com>
wrote:

> Hi guys,
>
> I have a question regarding the searchers (PolySearcher and IndexSearcher).
>
> I wrote an application to do searching and indexing for 2 cases: 1-
> unified index(searched via IndexSearcher) 2- splitted index (there are
> around 12 indexes to be searched via PolySearcher). Both indexes have the
> same number of documents in total.
>
> In order to make the application simpler, for every search query I create
> the related searcher, do the search, and then close it (I do closing by
> DECREF). So basically a searcher is created and removed.
>
> For the queries that do not have any results, for the IndexSearcher, I do
> not see any issues. For the same query with Poly search, I receive the
> following LLDB output. If I wait in the LLDB with a breakpoint before
> DECREFing the PolySearcher this issue does not happen.
>
> Process 44678 stopped
> * thread #1: tid = 0x325b47, 0x0000000100004c0a test3searchs`cfish_dec_
> refcount(vself=0x0000000103abe060) + 10 at clownfish.c:100, queue =
> 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x28)
>     frame #0: 0x0000000100004c0a 
> test3searchs`cfish_dec_refcount(vself=0x0000000103abe060)
> + 10 at clownfish.c:100
>    97   cfish_dec_refcount(void *vself) {
>    98      cfish_Obj *self = (Obj*)vself;
>    99      cfish_Class *klass = self->klass;
> -> 100    if (klass->flags & CFISH_fREFCOUNTSPECIAL) {
>    101        if (SI_immortal(klass)) {
>    102            return (uint32_t)self->refcount;
>    103        }
>
>
> I believe it is not directly related to the number of results returned.
> But something happens when we try to DECREF very quickly. I see that we
> need pthread. This makes me think that search and DECREF does not happen in
> the same thread, but I do not want to be confusing so no more comments
> regarding the threads :).
>
> Has anyone seen this issue? Do you have any suggestions? Is there a
> concern in creating a new searcher and destroying it by DECREF every time
> (other than a possible slowness)? Is there a better way to destroy a
> searcher?
>
> Thanks,
> Serkan
>
>

Reply via email to