Hi everyone,
I'm having a problem with xapian (the matchspy branch, with Python
bindings) on Solaris 10 / SPARC. Users can run queries for a few hours
with no problems, then it returns "inflate failed (invalid code
lengths set)" to Python and dumps core. gdb reports:
#0 0xfe6dc910 in inflate_table () from /usr/lib/libz.so.1
#1 0xfe6d9d6c in inflate () from /usr/lib/libz.so.1
#2 0xfe2ebe20 in FlintTable::read_tag (this=0x75ed70, C_=0x75ede0,
tag=0xfdcf8568, keep_compressed=false)
at backends/flint/flint_table.cc:1254
#3 0xfe2eff70 in FlintTable::get_exact_entry (this=0x75ed70, key=@0xfdcf8578,
tag=@0xfdcf8568) at backends/flint/flint_table.cc:1190
#4 0xfe2ddc04 in FlintSpellingTable::open_termlist (this=0x75ed70,
word=@0xfdcf8998) at backends/flint/flint_spelling.h:46
#5 0xfe20dcb0 in Xapian::Database::get_spelling_suggestion (this=0x75b5a8,
word=@0xfdcf8998, max_edit_distance=2) at include/xapian/base.h:476
#6 0xfe39ba90 in Xapian::QueryParser::Internal::parse_query (this=0x75b590,
qs=@0x798288, flags=128, default_prefix=@0xfdcf8a44)
at queryparser/queryparser.lemony:948
#7 0xfe38fa0c in Xapian::QueryParser::parse_query (this=0x798218,
query_string=@0x798288, flags=128, default_prefix=@0xfdcf8be0)
at include/xapian/base.h:154
#8 0xfe5551f0 in _wrap_QueryParser_parse_query (self=0x0, args=0x712648)
at
/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../include/c++/3.4.3/ext/new_allocator.h:69
#9 0x00117290 in PyCFunction_Call (func=0x60d9e0, arg=0x712648, kw=0x0)
at Objects/methodobject.c:116
This doesn't seem to be related to any particular query, and I haven't
worked out a simple way to reproduce the error. There is no database
writer while all this happens.
Any ideas? I might try rebuilding with the latest version of zlib -
does that sound sensible? Could it even be a low-level I/O error?
cheers,
Tom