v2.2.27 Panic: file rfc822-parser.h: line 23 (rfc822_parser_deinit): assertion failed: (ctx->data <= ctx->end)
Aki Tuomi
aki.tuomi at open-xchange.com
Mon Mar 25 09:12:55 EET 2019
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 at 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 at 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 at 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 at 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)
>
>
>
More information about the dovecot
mailing list