[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
Tue Mar 16 15:37:01 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: assigned
Priority: normal | Milestone: 1.1.5
Component: Backend-Chert | Version: 1.1.4
Severity: normal | Keywords:
Blockedby: | Platform: All
Blocking: |
---------------------------+------------------------------------------------
Comment(by tack):
I applied the patch to a snapshot of r14208 and unfortunately even the
reduced testcase is not only segfaulting, but segfaulting earlier.
Without the patch, r14208 behaves as before, with the assertion error
"backends/chert/chert_cursor.cc:160: B->level <= level"
The backtrace with the patch is strange because it makes its way inside
the brass backend:
{{{
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7f21ad0 (LWP 28178)]
0xb783b37a in getint2 (p=0x0, c=9) at ./common/unaligned.h:50
50 return p[c] << 8 | p[c + 1];
Current language: auto; currently c++
(gdb) bt
#0 0xb783b37a in getint2 (p=0x0, c=9) at ./common/unaligned.h:50
#1 0xb786ac98 in BrassTable::find_in_block (p=0x0, key={p = 0x9d924d2
"\b"}, leaf=true, c=-1)
at backends/brass/brass_table.cc:476
#2 0xb7878362 in BrassTable::find (this=0x9dab340, C_=0x9e2deb8) at
backends/brass/brass_table.cc:519
#3 0xb783a18d in BrassCursor::find_entry (this=0x9e2d9a0,
key=@0xbf9209d0) at backends/brass/brass_cursor.cc:177
#4 0xb7886f1b in ValueUpdater::update (this=0xbf920a44, did=1,
value=@0x9e2e6b4) at backends/chert/chert_values.cc:274
#5 0xb78cffc8 in ChertValueManager::merge_changes (this=0x9dab6d4) at
backends/chert/chert_values.cc:346
#6 0xb7891c95 in ChertWritableDatabase::open_value_list (this=0x9dab318,
slot=1) at backends/chert/chert_database.cc:1576
#7 0xb79a16c2 in ValueStreamDocument::do_get_value (this=0xbf920f68,
slot=1) at matcher/valuestreamdocument.cc:67
#8 0xb77e536b in Xapian::Document::Internal::get_value (this=0xbf920f68,
valueid=1) at api/omdocument.cc:284
#9 0xb7975d53 in Collapser::process (this=0xbf920fe0, item=@0xbf921028,
postlist=0xa3854c0, vsdoc=@0xbf920f68, mcmp=@0xbf921134)
at matcher/collapser.cc:82
#10 0xb7984fbd in MultiMatch::get_mset (this=0xbf9213ec, first=0,
maxitems=5, check_at_least=5, mset=@0xbf921580,
stats=@0xbf921454, mdecider=0x0, matchspy_legacy=0x0, sorter=0x0) at
matcher/multimatch.cc:664
#11 0xb77f2a4d in Xapian::Enquire::Internal::get_mset (this=0xa37b5e8,
first=0, maxitems=5, check_at_least=0, rset=0x0,
mdecider=0x0, matchspy_legacy=0x0) at api/omenquire.cc:670
#12 0xb77f2e02 in Xapian::Enquire::get_mset (this=0xa040e88, first=0,
maxitems=5, check_at_least=0, rset=0x0, mdecider=0x0)
at api/omenquire.cc:1034
#13 0xb7dca4af in _wrap_Enquire_get_mset__SWIG_4 (nobjs=3,
swig_obj=0xbf9215e4) at modern/xapian_wrap.cc:22653
#14 0xb7dcc0b0 in _wrap_Enquire_get_mset (self=0x0, args=0xb7eb939c) at
modern/xapian_wrap.cc:22798
#15 0x0805cb97 in PyObject_Call ()
#16 0x080c7aa7 in PyEval_EvalFrameEx ()
#17 0x080c96e5 in PyEval_EvalFrameEx ()
#18 0x080cb1f7 in PyEval_EvalCodeEx ()
#19 0x080cb347 in PyEval_EvalCode ()
#20 0x080ea818 in PyRun_FileExFlags ()
#21 0x080eaab9 in PyRun_SimpleFileExFlags ()
#22 0x08059335 in Py_Main ()
#23 0x080587f2 in main ()
}}}
I'm compiling with CXXFLAGS='-O0 -g' and --enable-assertions. I also
tried building with gcc 4.1 and it made no difference.
Is the patch you attached complete? Perhaps you forgot to diff one or
more files?
--
Ticket URL: <http://trac.xapian.org/ticket/455#comment:6>
Xapian <http://xapian.org/>
Xapian
More information about the Xapian-tickets
mailing list