[Xapian-discuss] "Value in posting list too large" error with 1.1.4 (chert and brass, not flint)
Olly Betts
olly at survex.com
Mon Mar 8 03:57:44 GMT 2010
On Sun, Mar 07, 2010 at 06:08:36PM -0500, Jason Tackaberry wrote:
> On Sun, 2010-03-07 at 22:57 +0000, Olly Betts wrote:
> > It seems to me this is certain to be a red-herring. Except for zero bytes
> > the characters in a term just a string of bytes to the backend.
> >
> > So it's just coincidence that changing the query avoids the problem.
>
> Can you elaborate on what the error means and what the likely causes
> are?
Yes, but that requires me to look at the code. I just addressed this point
directly first to avoid you wasting time on it.
It means we tried to unpack a variable length integer, but the encoded value
was larger than the type can hold. That probably means we're trying to decode
the wrong data, or junk. This exception could come from many places though.
I assume since the test data is email that it's not something you can make
available?
If not, you'll need to do the debugging leg work. I'd suggest trying trunk
first. I don't see a relevant fix, but it would be annoying to spend time
debugging an already fixed problem. You can use a snapshot tarball if you
don't fancy bootstrapping from SVN - see near the bottom of:
http://xapian.org/bleeding
If you configure xapian-core without optimisation and with debug info for
easier debugging:
./configure CXXFLAGS='-O0 -g'
Build it, and then run your test program under gdb, e.g. for omindex:
gdb --args omindex --db /path/to/db /path/to/html
Then set a breakpoint on where this exception is thrown, and run it:
b backends/chert/chert_postlist.cc:153
(y to confirm)
run
When gdb stops at that line, get a backtrace with "bt".
Cheers,
Olly
More information about the Xapian-discuss
mailing list