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) > > >