neomutt icon indicating copy to clipboard operation
neomutt copied to clipboard

Segfault when refreshing index with modified notmuch labels.

Open hsanson opened this issue 3 years ago • 7 comments

Expected Behaviour

No segfaults, ever.

Actual Behaviour

Neomutt segfaults sometimes when refreshing the index (pressing $) after I have modified some notmuch labels (e.g. trash).

If NeoMutt crashed, did your OS create a 'coredump' file?

core.dump.gz

Steps to Reproduce

Unfortunatelly I am unable to reproduce the issue reliably. What I usually do:

  • Keep neomutt open all day in a virtual-mailbox showing mails tagged with "inbox" tag:
virtual-mailboxes "$from/Inbox"   "notmuch://?query=path:$from/** AND tag:inbox AND NOT tag:killed AND NOT tag:spam"
  • I have a cron job that runs every minute and pulls new messages via mbsync and runs notmuch new to index the new messages. It also moves messages in the maildirs based on the notmuch tags set in neomutt (e.g. trash, archive, spam).
  • From time to time I would check the index and mark messages as spam, trash, or archived using these macros:
macro index,pager a "<modify-labels-then-hide>-inbox -spam -killed<enter>" "archive message"
macro index,pager i "<modify-labels-then-hide>+inbox -spam -killed<enter>" "unarchive message"
macro index,pager s "<modify-labels-then-hide>-inbox +spam -killed<enter>" "mark spam message"
macro index,pager d "<modify-labels-then-hide>-inbox -spam +killed<enter>" "delete message"
  • Then press refresh "$" to update the index.
  • At this point there is a high chance neomutt segfaults.

My suspicion is that in some instances notmuch causes a crash when trying to modify tags and the underlying message is no longer present because it was moved by my cronjob task to a different maildir.

How often does this happen?

  • Sometimes

When did it start to happen?

Is happening for several months now but I had difficult generating the core dump until now. Tip: systemd managed systems must use systemd-coredump to generate core dumps. Previous methods setting ulimits o apport do not work.

  • When I upgraded Which version did you use to use?

  • When I changed my config Can you narrow down what you changed?

NeoMutt Version

NeoMutt 20220429-178-3b62e6
Copyright (C) 1996-2022 Michael R. Elkins and others.
NeoMutt comes with ABSOLUTELY NO WARRANTY; for details type 'neomutt -vv'.
NeoMutt is free software, and you are welcome to redistribute it
under certain conditions; type 'neomutt -vv' for details.

System: Linux 5.15.0-46-generic (x86_64)
ncurses: ncurses 6.2.20200212 (compiled with 6.2.20200212)
libidn: 1.33 (compiled with 1.33)
GPGME: 1.16.0-unknown
OpenSSL: OpenSSL 1.1.1f  31 Mar 2020
libnotmuch: 5.2.0
storage: lmdb
compression: zstd

Configure options: --prefix=/usr --notmuch --lmdb --ssl --sasl --gpgme --zstd --fmemopen

Compilation CFLAGS: -g -O2 -std=c99 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D__EXTENSIONS__ -D_XOPEN_SOURCE_EXTENDED -I/usr/include -DNCURSE
S_WIDECHAR

Default options:
  +attach_headers_color +compose_to_sender +compress +cond_date +debug
  +encrypt_to_self +forgotten_attachments +forwref +ifdef +imap +index_color
  +initials +limit_current_thread +multiple_fcc +nested_if +new_mail +nntp +pop
  +progress +quasi_delete +regcomp +reply_with_xorig +sensible_browser +sidebar
  +skip_quoted +smtp +status_color +timeout +tls_sni +trash

コンパイル時オプション:
  -autocrypt +fcntl -flock +fmemopen +futimens +getaddrinfo -gnutls +gpgme -gss
  +hcache -homespool +idn +inotify -locales_hack -lua -mixmaster +nls +notmuch
  +openssl +pgp +regex +sasl +smime -sqlite +sun_attachment

MAILPATH="/var/mail"
PKGDATADIR="/usr/share/neomutt"
SENDMAIL="/usr/sbin/sendmail"
SYSCONFDIR="/etc"

To learn more about NeoMutt, visit: https://neomutt.org
If you find a bug in NeoMutt, please raise an issue at:
    https://github.com/neomutt/neomutt/issues
or send an email to: <[email protected]>

Extra Info

  • KDE Neon latest
  • libnotmuch5 version 0.29.3-1ubuntu2
  • Were you using multiple copies of NeoMutt at once? no
  • Were you using 'screen' or 'tmux'? tmux
  • Is your email local (maildir) or remote (IMAP)? maildir

hsanson avatar Sep 08 '22 07:09 hsanson

Can you please add a backtrace to this issue? I am not running on Linux and I can't inspect your core.dump. Thanks!

gahr avatar Sep 08 '22 07:09 gahr

Let me know if this is useful:

0  0x00007f180774232e in ?? () from /lib/x86_64-linux-gnu/libnotmuch.so.5
#1  0x00007f18077426fd in notmuch_message_get_filenames () from /lib/x86_64-linux-gnu/libnotmuch.so.5
#2  0x000055d62ee4495f in get_message_last_filename (msg=<optimized out>) at notmuch/notmuch.c:650
#3  0x000055d62ee47c0a in sync_email_path_with_nm (msg=<optimized out>, e=0x55d630917fe0) at notmuch/notmuch.c:2263
#4  nm_mbox_sync (m=0x55d6304a4750) at notmuch/notmuch.c:2263
#5  0x000055d62edcc349 in sync_mailbox (m=m@entry=0x55d6304a4750) at mx.c:483
#6  0x000055d62edcf453 in mx_mbox_sync (m=0x55d6304a4750) at mx.c:1002
#7  0x000055d62eddb25e in op_main_sync_folder (shared=0x55d6304629e0, priv=0x55d6304655f0, op=<optimized out>) at index/functions.c:1620
#8  0x000055d62eddf53c in index_function_dispatcher (win=<optimized out>, op=op@entry=174) at index/functions.c:2860
#9  0x000055d62edd8cf9 in mutt_index_menu (dlg=0x55d6303789b0, m_init=<optimized out>) at index/dlg_index.c:1333
#10 0x000055d62eda6361 in main (argc=<optimized out>, argv=0x7ffe727bd138, envp=<optimized out>) at main.c:1369

Full:

#0  0x00007f180774232e in ?? () from /lib/x86_64-linux-gnu/libnotmuch.so.5
No symbol table info available.
#1  0x00007f18077426fd in notmuch_message_get_filenames () from /lib/x86_64-linux-gnu/libnotmuch.so.5
No symbol table info available.
#2  0x000055d62ee4495f in get_message_last_filename (msg=<optimized out>) at notmuch/notmuch.c:650
        ls = <optimized out>
        name = 0x0
#3  0x000055d62ee47c0a in sync_email_path_with_nm (msg=<optimized out>, e=0x55d630917fe0) at notmuch/notmuch.c:2263
        new_file = <optimized out>
        old_file = "notmuch://?query=path:[email protected]/** AND tag:inbox AND NOT tag:killed AND NOT tag:spam 書き込み中...", '\000' <repeats 3985 times>
        new_file = <optimized out>
        old_file = <optimized out>
#4  nm_mbox_sync (m=0x55d6304a4750) at notmuch/notmuch.c:2263
        msg = <optimized out>
        db = <optimized out>
        old_file = "/home/ryujin/Mail/[email protected]/Inbox/cur/1662621019.892977_1.mini,U=33618:2,\000\005sheet'\004text%\003vnd\016WREFERENCEVI1PR09MB2814C6BBC71C40834908110CBA059@VI1PR09MB281%<Gy?%Gy&%<Gc?%Gc&%<GR?%GR&%<Gz?%Gz&%Gl
>>>>"...
        e = 0x55d630917fe0
        edata = 0x55d63083eb00
        ok = <optimized out>
        new_file = "\000home/ryujin/Mail/[email protected]/Inbox/new/1662621148.894006_2.mini,U=33620\000\000\000\004\000\000\000\376\177\000\000@\243{r\376\177", '\000' <repeats 18 times>, "\070\243{r\376\177\000\000\370`50\326U\000\0
00\200\243{r\376\177\000\000\300\242{r\376\177\000\000\000\000\000\000\000\000\000\000\254\243{r\376\177\000\000\000\000\000\000\000\000\000\000ӥ{r\376\177\000\000\360?L\a\030\177\000\000\000\237\272&\360\201\207y\254\243{r\376\177\00
0\000̣"...
        i = 3
        mdata = <optimized out>
        rc = MX_STATUS_OK
        progress = 0x55d63089c330
        url = 0x55d630365a80 "notmuch://?query=path:[email protected]/** AND tag:inbox AND NOT tag:killed AND NOT tag:spam"
        changed = true
        __func__ = "nm_mbox_sync"
        h = 0x55d6304a5e60
        mh_sync_errors = 0
#5  0x000055d62edcc349 in sync_mailbox (m=m@entry=0x55d6304a4750) at mx.c:483
        __func__ = "sync_mailbox"
        rc = <optimized out>
#6  0x000055d62edcf453 in mx_mbox_sync (m=0x55d6304a4750) at mx.c:1002
        rc = MX_STATUS_OK
        purge = <optimized out>
        msgcount = 57
        deleted = 0
        __func__ = "mx_mbox_sync"
        c_trash = <optimized out>
        m_trash = <optimized out>
#7  0x000055d62eddb25e in op_main_sync_folder (shared=0x55d6304629e0, priv=0x55d6304655f0, op=<optimized out>) at index/functions.c:1620
        ovc = 57
        oc = 57
        e = 0x55d630917fe0
        index = <optimized out>
        check = <optimized out>
#8  0x000055d62eddf53c in index_function_dispatcher (win=<optimized out>, op=op@entry=174) at index/functions.c:2860
        fn = <optimized out>
        i = <optimized out>
        __func__ = "index_function_dispatcher"
        priv = 0x55d6304655f0
        dlg = <optimized out>
        shared = <optimized out>
        rc = <optimized out>
        result = <optimized out>
#9  0x000055d62edd8cf9 in mutt_index_menu (dlg=0x55d6303789b0, m_init=<optimized out>) at index/dlg_index.c:1333
        c_arrow_cursor = false
        c_braille_friendly = <optimized out>
        index = <optimized out>
        c_auto_tag = <optimized out>
        shared = 0x55d6304629e0
        panel_index = <optimized out>
        priv = 0x55d6304655f0
        op = 174
        rc = <optimized out>
        __func__ = "mutt_index_menu"
#10 0x000055d62eda6361 in main (argc=<optimized out>, argv=0x7ffe727bd138, envp=<optimized out>) at main.c:1369
        dlg = 0x55d6303789b0
        m = 0x55d6304a4750
        c_read_only = <optimized out>
        subject = <optimized out>
        include_file = <optimized out>
        draft_file = <optimized out>
        new_type = <optimized out>
        dlevel = <optimized out>
        dfile = <optimized out>
        cli_nntp = 0x0
        e = 0x0
        attach = {stqh_first = 0x0, stqh_last = 0x7ffe727bca90}
        commands = {stqh_first = 0x0, stqh_last = 0x7ffe727bcaa0}
        queries = {stqh_first = 0x0, stqh_last = 0x7ffe727bcab0}
        alias_queries = {stqh_first = 0x0, stqh_last = 0x7ffe727bcac0}
        cc_list = {stqh_first = 0x0, stqh_last = 0x7ffe727bcad0}
        bcc_list = {stqh_first = 0x0, stqh_last = 0x7ffe727bcae0}
        sendflags = 0
        priv = 0x55d6304655f0
        op = 174
        rc = <optimized out>
        __func__ = "mutt_index_menu"
#10 0x000055d62eda6361 in main (argc=<optimized out>, argv=0x7ffe727bd138, envp=<optimized out>) at main.c:1369
        dlg = 0x55d6303789b0
        m = 0x55d6304a4750
        c_read_only = <optimized out>
        subject = <optimized out>
        include_file = <optimized out>
        draft_file = <optimized out>
        new_type = <optimized out>
        dlevel = <optimized out>
        dfile = <optimized out>
        cli_nntp = 0x0
        e = 0x0
        attach = {stqh_first = 0x0, stqh_last = 0x7ffe727bca90}
        commands = {stqh_first = 0x0, stqh_last = 0x7ffe727bcaa0}
        queries = {stqh_first = 0x0, stqh_last = 0x7ffe727bcab0}
        alias_queries = {stqh_first = 0x0, stqh_last = 0x7ffe727bcac0}
        cc_list = {stqh_first = 0x0, stqh_last = 0x7ffe727bcad0}
        bcc_list = {stqh_first = 0x0, stqh_last = 0x7ffe727bcae0}
        sendflags = 0
--Type <RET> for more, q to quit, c to continue without paging--
        flags = <optimized out>
        version = <optimized out>
        i = <optimized out>
        explicit_folder = <optimized out>
        dump_variables = <optimized out>
        one_liner = <optimized out>
        hide_sensitive = <optimized out>
        batch_mode = <optimized out>
        edit_infile = <optimized out>
        double_dash = <optimized out>
        nargc = <optimized out>
        rc = 1
        repeat_error = true
        folder = {data = 0x55d6304c0f80 "notmuch://?query=path:[email protected]/** AND tag:inbox AND NOT tag:killed AND NOT tag:spam", dptr = 0x55d6304c0fdb "", dsize = 256}
        expanded_infile = {data = 0x0, dptr = 0x0, dsize = 0}
        tempfile = {data = 0x0, dptr = 0x0, dsize = 0}
        cs = 0x55d6303542d0
        __func__ = "main"
        rc2 = 0
        c_folder = <optimized out>


hsanson avatar Sep 08 '22 08:09 hsanson

@Austin-Ray any ideas?

gahr avatar Sep 08 '22 08:09 gahr

@hsanson any chance to get the same backtrace on a NeoMutt built with symbols? make EXTRA_CFLAGS="-O0 -ggdb"

gahr avatar Sep 08 '22 08:09 gahr

Seems I need to generate a new coredump with the new binary with symbols. Since I am unable to reproduce the issue reliable it may take some time before I get something, apologies.

hsanson avatar Sep 08 '22 08:09 hsanson

not at all, and thanks!

gahr avatar Sep 08 '22 09:09 gahr

@gahr finally got the coredump, this time hopefully with the symbols required. gdb.txt

#0  0x00007f32872f332e in ?? () from /lib/x86_64-linux-gnu/libnotmuch.so.5
#1  0x00007f32872f36fd in notmuch_message_get_filenames () from /lib/x86_64-linux-gnu/libnotmuch.so.5
#2  0x000055835d39021b in get_message_last_filename (msg=0x0) at notmuch/notmuch.c:650
#3  0x000055835d390fe7 in sync_email_path_with_nm (e=0x55835f5d3e70, msg=0x0) at notmuch/notmuch.c:1074
#4  0x000055835d3944ec in nm_mbox_sync (m=0x55835fde9600) at notmuch/notmuch.c:2263
#5  0x000055835d2ed8e6 in sync_mailbox (m=0x55835fde9600) at mx.c:483
#6  0x000055835d2ef4a6 in mx_mbox_sync (m=0x55835fde9600) at mx.c:1002
#7  0x000055835d302c2e in op_main_sync_folder (shared=0x55835f35d0e0, priv=0x55835f35d510, op=174) at index/functions.c:1620
#8  0x000055835d306275 in index_function_dispatcher (win=0x55835f35fdd0, op=174) at index/functions.c:2860
#9  0x000055835d2fe918 in mutt_index_menu (dlg=0x55835f74e340, m_init=0x55835f39ea50) at index/dlg_index.c:1333
#10 0x000055835d2e0915 in main (argc=1, argv=0x7fffcb6981b8, envp=0x7fffcb6981c8) at main.c:1369
#0  0x00007f32872f332e in ?? () from /lib/x86_64-linux-gnu/libnotmuch.so.5
No symbol table info available.
#1  0x00007f32872f36fd in notmuch_message_get_filenames () from /lib/x86_64-linux-gnu/libnotmuch.so.5
No symbol table info available.
#2  0x000055835d39021b in get_message_last_filename (msg=0x0) at notmuch/notmuch.c:650
        ls = 0x55835f5d3e70
        name = 0x0
#3  0x000055835d390fe7 in sync_email_path_with_nm (e=0x55835f5d3e70, msg=0x0) at notmuch/notmuch.c:1074
        new_file = 0x55835f362f30 "\300\020\240_\203U"
        old_file = '\000' <repeats 264 times>...
#4  0x000055835d3944ec in nm_mbox_sync (m=0x55835fde9600) at notmuch/notmuch.c:2263
        msg = 0x0
        db = 0x55835ff52bf0
        old_file = "/home/ryujin/Mail/[email protected]/Inbox/cur/1663132826.1390050_1.mini,U=35000:2,\000\000\000\000\000\000\000+6B]\203U\000\000Љ+]\203U\000\000\260\201i\313\377\177\000\000\000\000\000\000\000\000\000\000\036pA]\203U\000\000`Si\313\377\177\000\000\204Xi\313\377\177", '\000' <repeats 11 times>, "\251p\031-\000\000\000\001\000\000\000\000\000\000\000\001", '\000' <repeats 16 times>, "\251p\031?\374ذ\240`i\313\377\177\000\000\030\000\000\000"...
        e = 0x55835f5d3e70
        edata = 0x55835f5d4a00
        ok = false
        new_file = "\000home/ryujin/Mail/[email protected]/Inbox/new/1663136459.1426953_3.mini,U=35019\000\062,S\000tag:spam 書き込み中...", '\000' <repeats 3985 times>
        i = 10
        mdata = 0x55835f58bb10
        rc = MX_STATUS_OK
        progress = 0x55835f34b2a0
        url = 0x55835f2e8ec0 "notmuch://?query=path:[email protected]/** AND tag:inbox AND NOT tag:killed AND NOT tag:spam"
        changed = true
        __func__ = "nm_mbox_sync"
        h = 0x55835f3b9050
        mh_sync_errors = 0
#5  0x000055835d2ed8e6 in sync_mailbox (m=0x55835fde9600) at mx.c:483
        __func__ = "sync_mailbox"
        rc = 21891
#6  0x000055835d2ef4a6 in mx_mbox_sync (m=0x55835fde9600) at mx.c:1002
        rc = MX_STATUS_OK
        purge = 1
        msgcount = 88
        deleted = 0
        __func__ = "mx_mbox_sync"
        c_trash = 0x0
        m_trash = 0x0
#7  0x000055835d302c2e in op_main_sync_folder (shared=0x55835f35d0e0, priv=0x55835f35d510, op=174) at index/functions.c:1620
        ovc = 88
        oc = 88
        e = 0x55835f6ff220
        index = 13
        check = 21891
#8  0x000055835d306275 in index_function_dispatcher (win=0x55835f35fdd0, op=174) at index/functions.c:2860
        fn = 0x55835d484da0 <IndexFunctions+1824>
        i = 76
        __func__ = "index_function_dispatcher"
        priv = 0x55835f35d510
        dlg = 0x55835f74e340
        shared = 0x55835f35d0e0
        rc = -7
        result = 0x55835fde9600 "Pv3_\203U"
#9  0x000055835d2fe918 in mutt_index_menu (dlg=0x55835f74e340, m_init=0x55835f39ea50) at index/dlg_index.c:1333
        c_arrow_cursor = false
        c_braille_friendly = false
        index = 13
        c_auto_tag = false
        shared = 0x55835f35d0e0
        panel_index = 0x55835fdfa4e0
        priv = 0x55835f35d510
        op = 174
        rc = -1
        __func__ = "mutt_index_menu"
#10 0x000055835d2e0915 in main (argc=1, argv=0x7fffcb6981b8, envp=0x7fffcb6981c8) at main.c:1369
        dlg = 0x55835f74e340
        m = 0x55835f39ea50
        c_read_only = false
        subject = 0x0
        include_file = 0x0
        draft_file = 0x0
        new_type = 0x0
        dlevel = 0x0
        dfile = 0x0
        cli_nntp = 0x0
        e = 0x0
        attach = {stqh_first = 0x0, stqh_last = 0x7fffcb697b30}
        commands = {stqh_first = 0x0, stqh_last = 0x7fffcb697b40}
        queries = {stqh_first = 0x0, stqh_last = 0x7fffcb697b50}
        alias_queries = {stqh_first = 0x0, stqh_last = 0x7fffcb697b60}
        cc_list = {stqh_first = 0x0, stqh_last = 0x7fffcb697b70}
        bcc_list = {stqh_first = 0x0, stqh_last = 0x7fffcb697b80}
        sendflags = 0
        flags = 0 '\000'
        version = 0
        i = 479434334
        explicit_folder = false
        dump_variables = false
        one_liner = false
        hide_sensitive = false
        batch_mode = false
        edit_infile = false
        double_dash = 1
        nargc = 1
        rc = 1
        repeat_error = true
        folder = {
          data = 0x55835f3bb5c0 "notmuch://?query=path:[email protected]/** AND tag:inbox AND NOT tag:killed AND NOT tag:spam", dptr = 0x55835f3bb61b "", dsize = 256}
        expanded_infile = {data = 0x0, dptr = 0x0, dsize = 0}
        tempfile = {data = 0x0, dptr = 0x0, dsize = 0}
        cs = 0x55835f261310
        __func__ = "main"
        rc2 = 0
        c_folder = 0x55835f39e0c0 ""
  Id   Target Id                           Frame 
* 1    Thread 0x7f3286454880 (LWP 1989041) 0x00007f32872f332e in ?? () from /lib/x86_64-linux-gnu/libnotmuch.so.5

Thread 1 (Thread 0x7f3286454880 (LWP 1989041)):
#0  0x00007f32872f332e in ?? () from /lib/x86_64-linux-gnu/libnotmuch.so.5
#1  0x00007f32872f36fd in notmuch_message_get_filenames () from /lib/x86_64-linux-gnu/libnotmuch.so.5
#2  0x000055835d39021b in get_message_last_filename (msg=0x0) at notmuch/notmuch.c:650
#3  0x000055835d390fe7 in sync_email_path_with_nm (e=0x55835f5d3e70, msg=0x0) at notmuch/notmuch.c:1074
#4  0x000055835d3944ec in nm_mbox_sync (m=0x55835fde9600) at notmuch/notmuch.c:2263
#5  0x000055835d2ed8e6 in sync_mailbox (m=0x55835fde9600) at mx.c:483
#6  0x000055835d2ef4a6 in mx_mbox_sync (m=0x55835fde9600) at mx.c:1002
#7  0x000055835d302c2e in op_main_sync_folder (shared=0x55835f35d0e0, priv=0x55835f35d510, op=174) at index/functions.c:1620
#8  0x000055835d306275 in index_function_dispatcher (win=0x55835f35fdd0, op=174) at index/functions.c:2860
#9  0x000055835d2fe918 in mutt_index_menu (dlg=0x55835f74e340, m_init=0x55835f39ea50) at index/dlg_index.c:1333
#10 0x000055835d2e0915 in main (argc=1, argv=0x7fffcb6981b8, envp=0x7fffcb6981c8) at main.c:1369
Undefined command: "threads".  Try "help".

Thread 1 (Thread 0x7f3286454880 (LWP 1989041)):
#0  0x00007f32872f332e in ?? () from /lib/x86_64-linux-gnu/libnotmuch.so.5
No symbol table info available.
#1  0x00007f32872f36fd in notmuch_message_get_filenames () from /lib/x86_64-linux-gnu/libnotmuch.so.5
No symbol table info available.
#2  0x000055835d39021b in get_message_last_filename (msg=0x0) at notmuch/notmuch.c:650
        ls = 0x55835f5d3e70
        name = 0x0
#3  0x000055835d390fe7 in sync_email_path_with_nm (e=0x55835f5d3e70, msg=0x0) at notmuch/notmuch.c:1074
        new_file = 0x55835f362f30 "\300\020\240_\203U"
        old_file = '\000' <repeats 264 times>...
#4  0x000055835d3944ec in nm_mbox_sync (m=0x55835fde9600) at notmuch/notmuch.c:2263
        msg = 0x0
        db = 0x55835ff52bf0
        old_file = "/home/ryujin/Mail/[email protected]/Inbox/cur/1663132826.1390050_1.mini,U=35000:2,\000\000\000\000\000\000\000+6B]\203U\000\000Љ+]\203U\000\000\260\201i\313\377\177\000\000\000\000\000\000\000\000\000\000\036pA]\203U\000\000`Si\313\377\177\000\000\204Xi\313\377\177", '\000' <repeats 11 times>, "\251p\031-\000\000\000\001\000\000\000\000\000\000\000\001", '\000' <repeats 16 times>, "\251p\031?\374ذ\240`i\313\377\177\000\000\030\000\000\000"...
        e = 0x55835f5d3e70
        edata = 0x55835f5d4a00
        ok = false
        new_file = "\000home/ryujin/Mail/[email protected]/Inbox/new/1663136459.1426953_3.mini,U=35019\000\062,S\000tag:spam 書き込み中...", '\000' <repeats 3985 times>
        i = 10
        mdata = 0x55835f58bb10
        rc = MX_STATUS_OK
        progress = 0x55835f34b2a0
        url = 0x55835f2e8ec0 "notmuch://?query=path:[email protected]/** AND tag:inbox AND NOT tag:killed AND NOT tag:spam"
        changed = true
        __func__ = "nm_mbox_sync"
        h = 0x55835f3b9050
        mh_sync_errors = 0
#5  0x000055835d2ed8e6 in sync_mailbox (m=0x55835fde9600) at mx.c:483
        __func__ = "sync_mailbox"
        rc = 21891
#6  0x000055835d2ef4a6 in mx_mbox_sync (m=0x55835fde9600) at mx.c:1002
        rc = MX_STATUS_OK
        purge = 1
        msgcount = 88
        deleted = 0
        __func__ = "mx_mbox_sync"
        c_trash = 0x0
        m_trash = 0x0
#7  0x000055835d302c2e in op_main_sync_folder (shared=0x55835f35d0e0, priv=0x55835f35d510, op=174) at index/functions.c:1620
        ovc = 88
        oc = 88
        e = 0x55835f6ff220
        index = 13
        check = 21891
#8  0x000055835d306275 in index_function_dispatcher (win=0x55835f35fdd0, op=174) at index/functions.c:2860
        fn = 0x55835d484da0 <IndexFunctions+1824>
        i = 76
        __func__ = "index_function_dispatcher"
        priv = 0x55835f35d510
        dlg = 0x55835f74e340
        shared = 0x55835f35d0e0
        rc = -7
        result = 0x55835fde9600 "Pv3_\203U"
#9  0x000055835d2fe918 in mutt_index_menu (dlg=0x55835f74e340, m_init=0x55835f39ea50) at index/dlg_index.c:1333
        c_arrow_cursor = false
        c_braille_friendly = false
        index = 13
        c_auto_tag = false
        shared = 0x55835f35d0e0
        panel_index = 0x55835fdfa4e0
        priv = 0x55835f35d510
        op = 174
        rc = -1
        __func__ = "mutt_index_menu"
#10 0x000055835d2e0915 in main (argc=1, argv=0x7fffcb6981b8, envp=0x7fffcb6981c8) at main.c:1369
        dlg = 0x55835f74e340
        m = 0x55835f39ea50
        c_read_only = false
        subject = 0x0
        include_file = 0x0
        draft_file = 0x0
        new_type = 0x0
        dlevel = 0x0
        dfile = 0x0
        cli_nntp = 0x0
        e = 0x0
        attach = {stqh_first = 0x0, stqh_last = 0x7fffcb697b30}
        commands = {stqh_first = 0x0, stqh_last = 0x7fffcb697b40}
        queries = {stqh_first = 0x0, stqh_last = 0x7fffcb697b50}
        alias_queries = {stqh_first = 0x0, stqh_last = 0x7fffcb697b60}
        cc_list = {stqh_first = 0x0, stqh_last = 0x7fffcb697b70}
        bcc_list = {stqh_first = 0x0, stqh_last = 0x7fffcb697b80}
        sendflags = 0
        flags = 0 '\000'
        version = 0
        i = 479434334
        explicit_folder = false
        dump_variables = false
        one_liner = false
        hide_sensitive = false
        batch_mode = false
        edit_infile = false
        double_dash = 1
        nargc = 1
        rc = 1
        repeat_error = true
        folder = {data = 0x55835f3bb5c0 "notmuch://?query=path:[email protected]/** AND tag:inbox AND NOT tag:killed AND NOT tag:spam", dptr = 0x55835f3bb61b "", dsize = 256}
        expanded_infile = {data = 0x0, dptr = 0x0, dsize = 0}
        tempfile = {data = 0x0, dptr = 0x0, dsize = 0}
        cs = 0x55835f261310
        __func__ = "main"
        rc2 = 0
        c_folder = 0x55835f39e0c0 ""
Undefined command: "exit".  Try "help".

hsanson avatar Sep 14 '22 06:09 hsanson

I also see what appears to be this same problem occur quite frequently. I have a notmuch search folder that searches for all unread email. If one or more of the messages in the search folder is removed out from underneath notmuch, I get a segfault once I hit "$" to sync changes and refresh the index.

Messages can get deleted out from underneath neomutt & notmuch by deleting the message on the IMAP server and having offlineimap sync the deletion locally and update notmuch. For me, this mostly happens with Office 365 meeting invitations that I've accepted or declined in my calendar. The original meeting invitation in my IMAP Inbox ends up getting deleted when the message is accepted or declined and then I hit this segfault with neomutt.

This segfault is on NeoMutt 20230517:

Stack trace of thread 268274:
#0  0x00007f4c9d06681e n/a (libnotmuch.so.5 + 0x1b81e)
#1  0x00007f4c9d066d45 notmuch_message_get_filenames (libnotmuch.so.5 + 0x1bd45)
#2  0x00005556f0982d4c n/a (neomutt + 0x50dd4c)
#3  0x00005556f09845e1 n/a (neomutt + 0x50f5e1)
#4  0x00005556f098a385 n/a (neomutt + 0x515385)
#5  0x00005556f078c6bf n/a (neomutt + 0x3176bf)
#6  0x00005556f0791739 n/a (neomutt + 0x31c739)
#7  0x00005556f07cadc2 n/a (neomutt + 0x355dc2)
#8  0x00005556f07d5b0b n/a (neomutt + 0x360b0b)
#9  0x00005556f07bdf7f n/a (neomutt + 0x348f7f)
#10 0x00005556f075e193 n/a (neomutt + 0x2e9193)
#11 0x00007f4c9c22acd0 n/a (libc.so.6 + 0x27cd0)
#12 0x00007f4c9c22ad8a __libc_start_main (libc.so.6 + 0x27d8a)
#13 0x00005556f06fd045 n/a (neomutt + 0x288045)
ELF object binary architecture: AMD x86-64

The last version this worked with no segfaults was 20210205. Instead of segfaulting, I would get a transient error message in the status bar while the index is syncing and notmuch is updating about a missing maildir file and neomutt would continue on anyway without any further issues. I can get symbols if needed.

eblau avatar Aug 23 '23 17:08 eblau

Been a while since I experienced this issue. Closing for now.

hsanson avatar Oct 17 '23 12:10 hsanson