[Xapian-tickets] [Xapian] #592: (crash) ChertTable::add_item_to_block on a seemingly corrupted block
Xapian
nobody at xapian.org
Mon Mar 26 19:45:25 BST 2012
#592: (crash) ChertTable::add_item_to_block on a seemingly corrupted block
---------------------------+------------------------------------------------
Reporter: static-void | Owner: olly
Type: defect | Status: new
Priority: normal | Milestone:
Component: Backend-Chert | Version: 1.2.5
Severity: normal | Keywords:
Blockedby: | Platform: Linux
Blocking: |
---------------------------+------------------------------------------------
Xapian crashes when trying to flush Xapian !WritableDatabase.
Environment: Ubuntu 11.10 x64; Xapian is used in zeitgeist-daemon (fts
extension) through python bindings.
I've tried to diag the crash with gdb. The simple reason is as follows:
{{{
Inside of:
(backends/chert/chert_table.cc:683)
void
ChertTable::add_item_to_block(byte * p, Item_wr kt_, int c):
DIR_END(p) is zero, and the following line:
699 memmove(p + c + D2, p + c, dir_end - c);
causes to pass memmove an insane len arg (like len=18446744073709551599).
Dump of the first 16 bytes of the block p:
(gdb) x /16xb $rbx
0x151c3d0: 0x00 0x00 0x00 0x00 0x00 0xca 0xd9
0xca
0x151c3d8: 0xd9 0x00 0x00 0x00 0x00 0x00 0x00
0x00
}}}
Backtrace is attached.
--
Ticket URL: <http://trac.xapian.org/ticket/592>
Xapian <http://xapian.org/>
Xapian
More information about the Xapian-tickets
mailing list