After some investigation, it turns out it is non trivial to install dovecot-dbg on debian jessie.
Sorry I can't investigate further. Jason Aki Tuomi wrote on 25/3/19 6:12 pm: > Can you install dovecot-dbg and try gdb again? > > Aki > > On 25.3.2019 3.20, Jason Lewis via dovecot wrote: >> Hi, >> >> I've been having an issue with the indexer giving me errors on mailbox >> in dovecot. >> >> I managed to narrow it down to a specific email in that mailbox. >> >> Various dovecot functions have issues with this email. >> >> The email itself is just spam. I can email it to you if you want to >> analyse it. I did run it through mbox-anonymize but its not clear to me >> that that would be of any use. Happy to email the suspect email >> privately to anyone who wants it. >> >> /home is mounted nfs4 and is zfs on the nfs server. >> >> >> Dovecot is installed from Debian Jessie. >> $ /usr/sbin/dovecot --version >> 2.2.27 (c0f36b0) >> >> dovecot-core: >> Installed: 1:2.2.27-3+deb9u2~bpo8+1 >> Candidate: 1:2.2.27-3+deb9u2~bpo8+1 >> Version table: >> *** 1:2.2.27-3+deb9u2~bpo8+1 0 >> 100 /var/lib/dpkg/status >> 1:2.2.13-12~deb8u5 0 >> 400 http://security.debian.org/ jessie/updates/main amd64 Packages >> 1:2.2.13-12~deb8u4 0 >> 400 http://deb.debian.org/debian/ jessie/main amd64 Packages >> >> >> ~# dovecot -n >> # 2.2.27 (c0f36b0): /etc/dovecot/dovecot.conf >> # Pigeonhole version 0.4.16 (fed8554) >> # OS: Linux 4.9.0-0.bpo.6-amd64 x86_64 Debian 8.10 >> imap_hibernate_timeout = 5 secs >> mail_location = maildir:~/Maildir >> mail_plugins = fts fts_solr >> mailbox_list_index = yes >> namespace inbox { >> inbox = yes >> location = >> mailbox Drafts { >> special_use = \Drafts >> } >> mailbox Junk { >> special_use = \Junk >> } >> mailbox Sent { >> special_use = \Sent >> } >> mailbox "Sent Messages" { >> special_use = \Sent >> } >> mailbox Trash { >> special_use = \Trash >> } >> prefix = >> } >> passdb { >> driver = pam >> } >> plugin { >> fts = solr >> fts_autoindex = yes >> fts_enforced = yes >> fts_solr = url=http://10.0.2.19:8080/solr/ >> imapsieve_mailbox1_before = file:/etc/dovecot/train-as-spam.sieve >> imapsieve_mailbox1_causes = COPY >> imapsieve_mailbox1_name = Junk >> imapsieve_mailbox2_before = file:/etc/dovecot/train-as-ham.sieve >> imapsieve_mailbox2_causes = COPY >> imapsieve_mailbox2_from = Junk >> imapsieve_mailbox2_name = * >> sieve = file:~/sieve;active=~/.dovecot.sieve >> sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment >> sieve_pipe_bin_dir = /usr/bin >> sieve_plugins = sieve_imapsieve sieve_extprograms >> } >> protocols = " imap" >> service anvil { >> client_limit = 1127 >> } >> service auth { >> client_limit = 2200 >> unix_listener /var/spool/postfix/private/auth { >> mode = 0666 >> } >> } >> service imap-hibernate { >> unix_listener imap-hibernate { >> group = dovecot >> mode = 0660 >> } >> } >> service imap-login { >> process_limit = 1024 >> process_min_avail = 12 >> service_count = 0 >> vsz_limit = 1 G >> } >> service imap { >> extra_groups = dovecot >> unix_listener imap-master { >> user = dovecot >> } >> } >> ssl_cert = </etc/letsencrypt/live/imap.organictrader.com.au/fullchain.pem >> ssl_key = # hidden, use -P to show it >> userdb { >> driver = passwd >> } >> protocol imap { >> mail_max_userip_connections = 20 >> mail_plugins = fts fts_solr imap_sieve >> } >> >> >> >> >> >> jason@debian:~$ doveadm -D -f flow fetch imap.envelope mailbox >> crm-spam.2008.g >> Debug: Loading modules from directory: /usr/lib/dovecot/modules >> Debug: Module loaded: /usr/lib/dovecot/modules/lib20_fts_plugin.so >> Debug: Module loaded: /usr/lib/dovecot/modules/lib21_fts_solr_plugin.so >> Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm >> Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: >> /usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined >> symbol: acl_user_module (this is usually intentional, so just ignore >> this message) >> Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: >> /usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so: >> undefined symbol: expire_set_deinit (this is usually intentional, so >> just ignore this message) >> Debug: Skipping module doveadm_quota_plugin, because dlopen() failed: >> /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: >> undefined symbol: quota_user_module (this is usually intentional, so >> just ignore this message) >> Debug: Module loaded: >> /usr/lib/dovecot/modules/doveadm/lib10_doveadm_sieve_plugin.so >> Debug: Skipping module doveadm_fts_lucene_plugin, because dlopen() >> failed: >> /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_lucene_plugin.so: >> undefined symbol: lucene_index_iter_deinit (this is usually intentional, >> so just ignore this message) >> Debug: Module loaded: >> /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so >> Debug: Skipping module doveadm_mail_crypt_plugin, because dlopen() >> failed: >> /usr/lib/dovecot/modules/doveadm/libdoveadm_mail_crypt_plugin.so: >> undefined symbol: mail_crypt_box_get_pvt_digests (this is usually >> intentional, so just ignore this message) >> doveadm(jason): Debug: Effective uid=1000, gid=1000, home=/home/jason >> doveadm(jason): Debug: Namespace inbox: type=private, prefix=, sep=, >> inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:~/Maildir >> doveadm(jason): Debug: maildir++: root=/home/jason/Maildir, index=, >> indexpvt=, control=, inbox=/home/jason/Maildir, alt= >> doveadm(jason): Debug: Namespace : Using permissions from >> /home/jason/Maildir: mode=0700 gid=default >> doveadm(jason): Debug: Mailbox crm-spam.2008.g: Opened mail UID=38 >> because: 1/10 headers not cached (first=Sender) (Mail has other cached >> fields, reset_id=1553472765) >> doveadm(jason): Panic: file rfc822-parser.h: line 23 >> (rfc822_parser_deinit): assertion failed: (ctx->data <= ctx->end) >> doveadm(jason): Error: Raw backtrace: >> /usr/lib/dovecot/libdovecot.so.0(+0x989ae) [0x7f170b1389ae] -> >> /usr/lib/dovecot/libdovecot.so.0(+0x98a28) [0x7f170b138a28] -> >> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f170b0ce67e] -> >> /usr/lib/dovecot/libdovecot.so.0(+0x7c97d) [0x7f170b11c97d] -> >> /usr/lib/dovecot/libdovecot.so.0(message_address_parse+0x55) >> [0x7f170b11c9e5] -> >> /usr/lib/dovecot/libdovecot.so.0(imap_envelope_parse_header+0x144) >> [0x7f170b110374] -> >> /usr/lib/dovecot/libdovecot-storage.so.0(index_mail_parse_header+0xfe) >> [0x7f170b47422e] -> /usr/lib/dovecot/libdovecot.so.0(+0x7979f) >> [0x7f170b11979f] -> /usr/lib/dovecot/libdovecot.so.0(i_stream_read+0x53) >> [0x7f170b1437e3] -> >> /usr/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x3d) >> [0x7f170b14422d] -> >> /usr/lib/dovecot/libdovecot.so.0(message_parse_header_next+0x72) >> [0x7f170b11f3d2] -> >> /usr/lib/dovecot/libdovecot.so.0(message_parse_header+0x4f) >> [0x7f170b11fd7f] -> >> /usr/lib/dovecot/libdovecot-storage.so.0(index_mail_headers_get_envelope+0x138) >> [0x7f170b475448] -> >> /usr/lib/dovecot/libdovecot-storage.so.0(index_mail_get_special+0x1a1) >> [0x7f170b4796c1] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x69dd3) >> [0x7f170b42fdd3] -> >> /usr/lib/dovecot/libdovecot-storage.so.0(mail_get_special+0xd) >> [0x7f170b400a8d] -> /usr/bin/doveadm(+0x2dca8) [0x562378dd4ca8] -> >> /usr/bin/doveadm(+0x2ed7e) [0x562378dd5d7e] -> >> /usr/bin/doveadm(+0x2a57c) [0x562378dd157c] -> >> /usr/bin/doveadm(+0x2b0da) [0x562378dd20da] -> >> /usr/bin/doveadm(doveadm_cmd_ver2_to_mail_cmd_wrapper+0x21f) >> [0x562378dd2f5f] -> /usr/bin/doveadm(doveadm_cmd_run_ver2+0x560) >> [0x562378de2390] -> /usr/bin/doveadm(doveadm_cmd_try_run_ver2+0x37) >> [0x562378de23e7] -> /usr/bin/doveadm(main+0x1e4) [0x562378dc1f44] -> >> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f170ad16b45] >> -> /usr/bin/doveadm(+0x1b32c) [0x562378dc232c] >> Aborted (core dumped) >> >> >> jason@debian:~$ gdb /usr/bin/doveadm /home/jason/core >> GNU gdb (Debian 7.7.1+dfsg-5) 7.7.1 >> Copyright (C) 2014 Free Software Foundation, Inc. >> License GPLv3+: GNU GPL version 3 or later >> <http://gnu.org/licenses/gpl.html> >> This is free software: you are free to change and redistribute it. >> There is NO WARRANTY, to the extent permitted by law. Type "show copying" >> and "show warranty" for details. >> This GDB was configured as "x86_64-linux-gnu". >> Type "show configuration" for configuration details. >> For bug reporting instructions, please see: >> <http://www.gnu.org/software/gdb/bugs/>. >> Find the GDB manual and other documentation resources online at: >> <http://www.gnu.org/software/gdb/documentation/>. >> For help, type "help". >> Type "apropos word" to search for commands related to "word"... >> Reading symbols from /usr/bin/doveadm...(no debugging symbols found)...done. >> [New LWP 22454] >> Core was generated by `/usr/bin/doveadm -D -f flow fetch imap.envelope >> mailbox crm-spam.2008.g'. >> Program terminated with signal SIGABRT, Aborted. >> #0 0x00007f170ad2a067 in __GI_raise (sig=sig@entry=6) at >> ../nptl/sysdeps/unix/sysv/linux/raise.c:56 >> 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. >> (gdb) bt full >> #0 0x00007f170ad2a067 in __GI_raise (sig=sig@entry=6) at >> ../nptl/sysdeps/unix/sysv/linux/raise.c:56 >> resultvar = 0 >> pid = 22454 >> selftid = 22454 >> #1 0x00007f170ad2b448 in __GI_abort () at abort.c:89 >> save_stage = 2 >> act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = >> 0x0}, sa_mask = {__val = {1024, 94710351668199, 94710351535940, >> 139736942472005, 94710351536940, 0, >> 94710367714600, 513, 13251895700223756544, 94710367714600, >> 139736946974659, 94710367714600, 140734907147216, 4294967040, >> 139736946975017, 94710367714600}}, >> sa_flags = 185808618, sa_restorer = 0x7fff6625e401} >> sigs = {__val = {32, 0 <repeats 15 times>}} >> #2 0x00007f170b1389a6 in ?? () from /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #3 0x00007f170b138a28 in default_fatal_handler () from >> /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #4 0x00007f170b0ce67e in i_panic () from /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #5 0x00007f170b11c97d in ?? () from /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #6 0x00007f170b11c9e5 in message_address_parse () from >> /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #7 0x00007f170b110374 in imap_envelope_parse_header () from >> /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #8 0x00007f170b47422e in index_mail_parse_header () from >> /usr/lib/dovecot/libdovecot-storage.so.0 >> No symbol table info available. >> #9 0x00007f170b11979f in ?? () from /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #10 0x00007f170b1437e3 in i_stream_read () from >> /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #11 0x00007f170b14422d in i_stream_read_data () from >> /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #12 0x00007f170b11f3d2 in message_parse_header_next () from >> /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #13 0x00007f170b11fd7f in message_parse_header () from >> /usr/lib/dovecot/libdovecot.so.0 >> No symbol table info available. >> #14 0x00007f170b475448 in index_mail_headers_get_envelope () from >> /usr/lib/dovecot/libdovecot-storage.so.0 >> No symbol table info available. >> #15 0x00007f170b4796c1 in index_mail_get_special () from >> /usr/lib/dovecot/libdovecot-storage.so.0 >> No symbol table info available. >> #16 0x00007f170b42fdd3 in ?? () from >> /usr/lib/dovecot/libdovecot-storage.so.0 >> No symbol table info available. >> ---Type <return> to continue, or q <return> to quit--- >> #17 0x00007f170b400a8d in mail_get_special () from >> /usr/lib/dovecot/libdovecot-storage.so.0 >> No symbol table info available. >> #18 0x0000562378dd4ca8 in ?? () >> No symbol table info available. >> #19 0x0000562378dd5d7e in ?? () >> No symbol table info available. >> #20 0x0000562378dd157c in ?? () >> No symbol table info available. >> #21 0x0000562378dd20da in ?? () >> No symbol table info available. >> #22 0x0000562378dd2f5f in doveadm_cmd_ver2_to_mail_cmd_wrapper () >> No symbol table info available. >> #23 0x0000562378de2390 in doveadm_cmd_run_ver2 () >> No symbol table info available. >> #24 0x0000562378de23e7 in doveadm_cmd_try_run_ver2 () >> No symbol table info available. >> #25 0x0000562378dc1f44 in main () >> No symbol table info available. >> (gdb) >> >> >> > -- Jason Lewis http://emacstragic.net