Segmentation fault on tagging with latest xapian 1.4.13

Sebastian Fischmeister sfischme at uwaterloo.ca
Sat Oct 26 12:25:56 PDT 2019


Hello,

Notmuch crashes with xapian-core-1:1.4.13. Everything works fine with xapian-core-1:1.4.12-1

When running the command:

notmuch tag +me -- tag:new and to:sfischme at uwaterloo.ca

Notmuch crashes with a segmentation fault.


Here is the essence of the core dump and the local variables when running the git version 7eb9615b30274033cc0c828244569c709906c40b from Sep 15.

$ gdb notmuch
(gdb) run tag +me -- tag:new and to:sfischme at uwaterloo.ca
(gdb) where
#0  0x00007f2a74a73ee4 in  () at /usr/lib/libxapian.so.30
#1  0x00007f2a74a776fe in  () at /usr/lib/libxapian.so.30
#2  0x00007f2a74a7e0a2 in  () at /usr/lib/libxapian.so.30
#3  0x00007f2a7499d1f8 in Xapian::Enquire::Internal::get_mset(unsigned int, unsigned int, unsigned int, Xapian::RSet const*, Xapian::MatchDecider const*) const () at /usr/lib/libxapian.so.30
#4  0x00007f2a7499d466 in Xapian::Enquire::get_mset(unsigned int, unsigned int, unsigned int, Xapian::RSet const*, Xapian::MatchDecider const*) const ()
    at /usr/lib/libxapian.so.30
#5  0x0000559bef805a1f in _notmuch_query_search_documents(notmuch_query_t*, char const*, notmuch_messages_t**)
    (query=0x559bf14e6c60, type=<optimized out>, out=0x7ffe19dcb8b0) at lib/query.cc:346
#6  0x0000559bef7f5818 in tag_query
    (ctx=ctx at entry=0x559bf14dfb70, notmuch=notmuch at entry=0x559bf14e6e60, query_string=0x559bf153c170 "( tag:new and to:sfischme at uwaterloo.ca ) and (not tag:me)", tag_ops=tag_ops at entry=0x559bf14e2e40, flags=(TAG_FLAG_MAILDIR_SYNC | TAG_FLAG_PRE_OPTIMIZED), flags at entry=TAG_FLAG_MAILDIR_SYNC) at notmuch-tag.c:124
#7  0x0000559bef7f5d82 in notmuch_tag_command (config=0x559bf14dfb70, argc=<optimized out>, argv=0x7ffe19dcbe80) at notmuch-tag.c:279
#8  0x0000559bef7e6517 in main (argc=7, argv=0x7ffe19dcbe78) at notmuch.c:505




(gdb) up # to the first notmuch level
#5  0x0000555555584a1f in _notmuch_query_search_documents (query=0x5555555d4c60, type=<optimized out>, out=0x7fffffffd9a0) at lib/query.cc:346
346		mset = enquire.get_mset (0, notmuch->xapian_db->get_doccount ());
(gdb) info locals
enquire = {internal = {px = 0x5555555b0000}, static INCLUDE_QUERY_TERMS = 1, static USE_EXACT_TERMFREQ = 2}
mail_query = {internal = {px = 0x55555562a270}, static MatchNothing = {internal = {px = 0x0}, 
    static MatchNothing = <same as static member of an already seen type>, static MatchAll = {internal = {px = 0x5555555ae4e0}, 
      static MatchNothing = <same as static member of an already seen type>, static MatchAll = <same as static member of an already seen type>}}, 
  static MatchAll = <same as static member of an already seen type>}
final_query = {internal = {px = 0x55555562a7b0}, static MatchNothing = {internal = {px = 0x0}, 
    static MatchNothing = <same as static member of an already seen type>, static MatchAll = {internal = {px = 0x5555555ae4e0}, 
      static MatchNothing = <same as static member of an already seen type>, static MatchAll = <same as static member of an already seen type>}}, 
  static MatchAll = <same as static member of an already seen type>}
exclude_query = {internal = {px = 0x0}, static MatchNothing = {internal = {px = 0x0}, static MatchNothing = <same as static member of an already seen type>, 
    static MatchAll = {internal = {px = 0x5555555ae4e0}, static MatchNothing = <same as static member of an already seen type>, 
      static MatchAll = <same as static member of an already seen type>}}, static MatchAll = <same as static member of an already seen type>}
iterator = {mset = {internal = {px = 0x5555555acf50}}, off_from_end = 0}
mset = {internal = {px = 0x5555555ad060}}
notmuch = 0x5555555d4e60
query_string = <optimized out>
messages = 0x55555562a840
status = NOTMUCH_STATUS_SUCCESS



Do you need more information?

  Sebastian


More information about the notmuch mailing list