[Xapian-tickets] [Xapian] #455: "Value in posting list too large" error with 1.1.4 (chert and brass, not flint)

Xapian nobody at xapian.org
Mon Mar 8 16:06:47 GMT 2010


#455: "Value in posting list too large" error with 1.1.4 (chert and brass, not
flint)
---------------------------+------------------------------------------------
 Reporter:  tack           |       Owner:  olly 
     Type:  defect         |      Status:  new  
 Priority:  normal         |   Milestone:       
Component:  Backend-Chert  |     Version:  1.1.4
 Severity:  normal         |    Keywords:       
Blockedby:                 |    Platform:  All  
 Blocking:                 |  
---------------------------+------------------------------------------------
 I am able to trigger "Value in posting list too large" in
 Enquire.get_mset() with 1.1.4 using chert and brass (but not flint) on
 certain document sets (which I unfortunately cannot share) using the
 following general approach:

   1. Set XAPIAN_FLUSH_THRESHOLD=1000
   2. Open a (new) database for write
   3. Index a few thousand documents
   4. Periodically query the database

 If I set XAPIAN_FLUSH_THRESHOLD to a value greater than the number of
 documents indexed (nor do I ever explicitly flush), the problem goes away.

 The query performed in step 4 depends on the contents of the document
 being indexed, so it varies.

 xapian-check indicates the database is consistent so it doesn't appear to
 be an on-disk corruption problem.

 After setting a breakpoint at backends/chert/chert_postlist.cc:153, here
 is a backtrace:

 {{{
 #0  report_read_error (position=0xa7b8175 "�\001\a�") at
 backends/chert/chert_postlist.cc:153
 #1  0xb7691677 in ChertPostList::move_to_chunk_containing (this=0xa0f37d8,
 desired_did=<value optimized out>)
     at backends/chert/chert_postlist.cc:876
 #2  0xb76916ff in ChertPostList::jump_to (this=0xa0f37d8, desired_did=475)
 at backends/chert/chert_postlist.cc:971
 #3  0xb76918ea in ChertPostListTable::get_doclength (this=0x8c2ca98,
 did=475, db=@0xbf901fa8)
     at backends/chert/chert_postlist.cc:68
 #4  0xb7678515 in ChertDatabase::get_doclength (this=0x8c2ca70, did=475)
 at backends/chert/chert_database.cc:797
 #5  0xb7678f4f in ChertWritableDatabase::get_doclength (this=0x8c2ca70,
 did=475)
     at backends/chert/chert_database.cc:1501
 #6  0xb768ed2b in ChertPostList::get_doclength (this=0xa7166c0) at
 backends/chert/chert_postlist.cc:726
 #7  0xb768cdb8 in ChertModifiedPostList::get_doclength (this=0xa7166c0)
     at backends/chert/chert_modifiedpostlist.cc:68
 #8  0xb75ecb6e in LeafPostList::get_weight (this=0xa7166c0) at
 api/leafpostlist.cc:77
 #9  0xb772fdfb in MultiAndPostList::get_weight (this=0xa7b8188) at
 matcher/multiandpostlist.cc:165
 #10 0xb772af34 in SelectPostList::get_weight (this=0xa7b8270) at
 matcher/selectpostlist.h:52
 #11 0xb7732da8 in MultiMatch::get_mset (this=0xbf9025dc, first=0,
 maxitems=5, check_at_least=5, mset=@0xbf902730,
     stats=@0xbf902644, mdecider=0x0, matchspy_legacy=0x0, sorter=0x0) at
 matcher/multimatch.cc:574
 #12 0xb7600bba in Xapian::Enquire::Internal::get_mset (this=0xa7004c0,
 first=0, maxitems=5, check_at_least=0,
     rset=0x0, mdecider=0x0, matchspy_legacy=0x0) at api/omenquire.cc:670
 #13 0xb76010f9 in Xapian::Enquire::get_mset (this=0xa3fafe8, first=0,
 maxitems=5, check_at_least=0, rset=0x0,
     mdecider=0x0) at api/omenquire.cc:1034
 #14 0xb7818257 in _wrap_Enquire_get_mset__SWIG_4 (nobjs=3,
 swig_obj=0xbf902798) at modern/xapian_wrap.cc:22653
 #15 0xb7819719 in _wrap_Enquire_get_mset (self=0x0, args=0x8e4cc34) at
 modern/xapian_wrap.cc:22798
 #16 0x0805cb97 in PyObject_Call ()
 [...]
 }}}
 (All frames over 16 are Python as I am using the Python bindings, so I've
 omitted them for brevity.)

-- 
Ticket URL: <http://trac.xapian.org/ticket/455>
Xapian <http://xapian.org/>
Xapian



More information about the Xapian-tickets mailing list