[notmuch] Xapian::DatabaseError on notmuch new upgrade

Jed Brown jed at 59A2.org
Mon Jan 11 08:10:24 PST 2010


I rebuilt notmuch and got a Xapian exception while notmuch new was
upgrading my database.  This seemed like a decent time to try the latest
Xapian, so I built a copy and the crash remained (and maintainer-mode
still optimizes so I built Xapian again so I could get decent
debugging).  Here is a trace from

  XAPIAN_PREFER_CHERT=1 notmuch new

I got the same error without setting XAPIAN_PREFER_CHERT.  It's not
clear to me whether this is a usage issue or Xapian problem.  The core
is 245 MB, I can provide it if someone wants to try debugging.

Jed

(gdb) bt
#0  0x00007fa687d9e035 in raise () from /lib/libc.so.6
#1  0x00007fa687d9f460 in abort () from /lib/libc.so.6
#2  0x00007fa688622925 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6
#3  0x00007fa688620d56 in __cxxabiv1::__terminate(void (*)()) () from /usr/lib/libstdc++.so.6
#4  0x00007fa688620d83 in std::terminate() () from /usr/lib/libstdc++.so.6
#5  0x00007fa688620e7e in __cxa_throw () from /usr/lib/libstdc++.so.6
#6  0x00007fa688a221bc in FlintTable::read_block (this=0x16395c8, n=2569, p=0xe3fd8e0 "") at backends/flint/flint_table.cc:243
#7  0x00007fa688a22bda in FlintTable::block_to_cursor (this=0x16395c8, C_=0xe4074e0, j=0, n=2569) at backends/flint/flint_table.cc:393
#8  0x00007fa688a299fc in FlintTable::next_default (this=0x16395c8, C_=0xe4074e0, j=1) at backends/flint/flint_table.cc:2219
#9  0x00007fa688a29983 in FlintTable::next_default (this=0x16395c8, C_=0xe4074e0, j=0) at backends/flint/flint_table.cc:2214
#10 0x00007fa688a022c5 in FlintTable::next (this=0x16395c8, C_=0xe4074e0, j=0) at backends/flint/flint_table.h:692
#11 0x00007fa688a020d5 in FlintCursor::read_tag (this=0xe43ece0, keep_compressed=false) at backends/flint/flint_cursor.cc:264
#12 0x00007fa688a1a6d8 in FlintPostListTable::get_chunk (this=0x16395c8, tname=..., did=82407, adding=false, from=0x7fff849be358, to=0x7fff849be350) at backends/flint/flint_postlist.cc:946
#13 0x00007fa688a1b5e3 in FlintPostListTable::merge_changes (this=0x16395c8, mod_plists=..., doclens=..., freq_deltas=...) at backends/flint/flint_postlist.cc:1100
#14 0x00007fa688a08d89 in FlintWritableDatabase::flush_postlist_changes (this=0x1639590) at backends/flint/flint_database.cc:1053
#15 0x00007fa688a0bb5f in FlintWritableDatabase::replace_document (this=0x1639590, did=45341, document=...) at backends/flint/flint_database.cc:1425
#16 0x00007fa688975b7d in Xapian::WritableDatabase::replace_document (this=0x16393a0, did=45341, document=...) at api/omdatabase.cc:817
#17 0x0000000000416c6f in _notmuch_message_sync (message=0xe327130) at lib/message.cc:609
#18 0x0000000000410ca5 in notmuch_database_upgrade (notmuch=0x1639460, progress_notify=0x40a890 <upgrade_print_progress>, closure=0x7fff849bef20) at lib/database.cc:751
#19 0x000000000040ad4a in notmuch_new_command (ctx=0x162b120, argc=0, argv=0x7fff849bf0f8) at notmuch-new.c:746
#20 0x000000000040862e in main (argc=2, argv=0x7fff849bf0e8) at notmuch.c:449
(gdb) f 17
#17 0x0000000000416c6f in _notmuch_message_sync (message=0xe327130) at lib/message.cc:609
609         db->replace_document (message->doc_id, message->doc);
Current language:  auto
The current source language is "auto; currently c++".
(gdb) p *message
$1 = {notmuch = 0x1639460, doc_id = 45341, frozen = 0, message_id = 0x0, thread_id = 0x0, in_reply_to = 0x0, filename = 0x0, message_file = 0x0, replies = 0xbaea960, flags = 0, doc = {internal = {dest = 0xe3816c0}}}


More information about the notmuch mailing list