[KinoSearch] Index optimize failure

Henka henka at cityweb.co.za
Fri Sep 19 03:12:40 PDT 2008



Quoting "Marvin Humphrey" <marvin at rectangular.com>:
> It would be helpful to see a C stack trace to confirm the suspicion.  
>  If it's the same number every time, can you put a watch point into  
> I32Arr_get() looking for it?

Here's the backtrace.  I had trouble triggering the breakpoint with a  
condition, so I just spliced in a function call to break on before  
CONFESS("Out of bounds...:

(gdb) bt
#0  bloopy () at ../c_src/KinoSearch/Util/I32Array.c:31
#1  0x0023d2be in kino_I32Arr_get (self=0x9dbd1d8, num=-2147406182) at  
../c_src/KinoSearch/Util/I32Array.c:37
#2  0x00262309 in kino_PostPool_refill (self=0x9dd88c8) at  
../c_src/h/KinoSearch/Util/I32Array.h:225
#3  0x0023ae7c in refill_cache (self=0x9dbfb48) at  
../c_src/h/KinoSearch/Util/SortExRun.h:264
#4  0x0023b260 in kino_SortEx_fetch (self=0x9dbfb48) at  
../c_src/KinoSearch/Util/SortExternal.c:120
#5  0x002642d2 in write_terms_and_postings (self=<value optimized  
out>, raw_post_source=0x9dbfb48, post_stream=0x9e816a8,  
skip_stream=0x9f591a8)
     at ../c_src/KinoSearch/Index/PostingsWriter.c:332
#6  0x002645b8 in kino_PostWriter_finish (self=0x9dba8a8) at  
../c_src/KinoSearch/Index/PostingsWriter.c:380
#7  0x00266c13 in kino_SegWriter_finish (self=0x9dbb698) at  
../c_src/h/KinoSearch/Index/PostingsWriter.h:266
#8  0x00231e4d in kino_InvIndexer_finish (self=0x9718b70, optimize=1)  
at ../c_src/h/KinoSearch/Index/SegWriter.h:259
#9  0x001aabe5 in XS_KinoSearch__InvIndexer__finish  
(my_perl=0x8a97008, cv=0x8bed7ec) at KinoSearch.xs:24903
#10 0x0050949d in Perl_pp_entersub () from  
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so
#11 0x0050290f in Perl_runops_standard () from  
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so
#12 0x004a810e in perl_run () from  
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so
#13 0x0804921e in main ()


...and here's a bt with vars, just in case:

(gdb) bt full
#0  bloopy () at ../c_src/KinoSearch/Util/I32Array.c:31
No locals.
#1  0x0023d2be in kino_I32Arr_get (self=0x9dbd1d8, num=-2147406182) at  
../c_src/KinoSearch/Util/I32Array.c:37
         __func__ = "kino_I32Arr_get"
#2  0x00262309 in kino_PostPool_refill (self=0x9dd88c8) at  
../c_src/h/KinoSearch/Util/I32Array.h:225
         remapped = <value optimized out>
         lex_stepper = (kino_LexStepper * const) 0x9dd8950
         main_posting = (kino_Posting * const) 0x9dd89b8
         lex_instream = (kino_InStream * const) 0x9dd8a40
         post_instream = (kino_InStream * const) 0x9dd8aa8
         doc_map = (kino_I32Array * const) 0x9dbd1d8
         mem_thresh = 1048576
         doc_base = 338003
         lex_end = 503
         num_elems = 6215
         term_text = (kino_CharBuf *) 0x9e67ad8
         mem_pool = (kino_MemoryPool *) 0x9e98898
         __func__ = "kino_PostPool_refill"
#3  0x0023ae7c in refill_cache (self=0x9dbfb48) at  
../c_src/h/KinoSearch/Util/SortExRun.h:264
         endpost = <value optimized out>
#4  0x0023b260 in kino_SortEx_fetch (self=0x9dbfb48) at  
../c_src/KinoSearch/Util/SortExternal.c:120
         __func__ = "kino_SortEx_fetch"
#5  0x002642d2 in write_terms_and_postings (self=<value optimized  
out>, raw_post_source=0x9dbfb48, post_stream=0x9e816a8,  
skip_stream=0x9f591a8)
     at ../c_src/KinoSearch/Index/PostingsWriter.c:332
         same_text_as_last = 1
         tinfo = (kino_TermInfo * const) 0x9e69b18
         skip_stepper = (kino_SkipStepper * const) 0x9dbd0a0
         lex_writer = (kino_LexWriter * const) 0x9dba8f0
         skip_interval = 16
         last_term_text = (kino_CharBuf * const) 0x9dd7420
         last_doc_num = 426852
         last_skip_doc = 426833
         last_skip_filepos = <value optimized out>
         posting = (kino_RawPosting *) 0xb79d8ff8
         fetch = (fetcher_t) 0x23b230 <kino_SortEx_fetch>
         __func__ = "write_terms_and_postings"
#6  0x002645b8 in kino_PostWriter_finish (self=0x9dba8a8) at  
../c_src/KinoSearch/Index/PostingsWriter.c:380
         folder = (kino_Folder *) 0x9716fa8
         i = 24
         metadata = (kino_Hash *) 0x9dbc800
#7  0x00266c13 in kino_SegWriter_finish (self=0x9dbb698) at  
../c_src/h/KinoSearch/Index/PostingsWriter.h:266
No locals.
#8  0x00231e4d in kino_InvIndexer_finish (self=0x9718b70, optimize=1)  
at ../c_src/h/KinoSearch/Index/SegWriter.h:259
         to_merge = (kino_VArray *) 0x9db78b8
         i = 15
         merge_happened = 1
         __func__ = "kino_InvIndexer_finish"
#9  0x001aabe5 in XS_KinoSearch__InvIndexer__finish  
(my_perl=0x8a97008, cv=0x8bed7ec) at KinoSearch.xs:24903
         optimize = <value optimized out>
         optimize_sv = (SV *) 0x962d920
         sp = (SV **) 0x9135084
         ax = <value optimized out>
         __func__ = "XS_KinoSearch__InvIndexer__finish"
#10 0x0050949d in Perl_pp_entersub () from  
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so
No symbol table info available.
#11 0x0050290f in Perl_runops_standard () from  
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so
No symbol table info available.
#12 0x004a810e in perl_run () from  
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#13 0x0804921e in main ()
No symbol table info available.

_______________________________________________
KinoSearch mailing list
KinoSearch at rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch




More information about the kinosearch mailing list