dovecot-2.3.17: "Panic: file ioloop.c: line 865"

Piper Andreas piper at hrz.uni-marburg.de
Thu Nov 11 13:53:40 UTC 2021


Hello,

since the upgrade from dovecot-2.3.16 to 2.3.17 I get 'Panic'-errors in 
the system-log of my replicator hosts. See below for log messages, 
doveconf-output and gdb-backtrace. Storage filesystem is ZFS.

The error seems to be correlated with exactly one user-mailbox, this 
user is repeatedly noted as 'failed' in replication status, although 
replication of this mailbox seems to work, as the mailbox status shows 
always the identical size on both replicators. The error can be produced 
by forcing replication of this individual mailbox.

Is there anything I can do to repair this mailbox?

Thanks for any hints,
Andreas

Example log-messages:

Nov 11 07:17:50 vhrz311 dovecot: doveadm(119455): Error: write(<local>) 
failed: Timed out after 60 seconds
Nov 11 07:17:50 vhrz311 dovecot: doveadm(119455): Panic: file ioloop.c: 
line 865 (io_loop_destroy): assertion failed: (ioloop == cur
rent_ioloop)
Nov 11 07:17:50 vhrz311 dovecot: doveadm(119455): Error: Raw backtrace: 
/usr/lib/dovecot/libdovecot.so.0(backtrace_append+0x42) [0x7
f4e59419182] -> /usr/lib/dovecot/libdovecot.so.0(backtrace_get+0x1e) 
[0x7f4e5941929e] -> /usr/lib/dovecot/libdovecot.so.0(+0xf8a5e)
[0x7f4e59427a5e] -> /usr/lib/dovecot/libdovecot.so.0(+0xf8b01) 
[0x7f4e59427b01] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f
4e593744a7] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_destroy+0x2dc) 
[0x7f4e5944121c] -> dovecot/doveadm-server(+0x46fb6) [0x563d0
150ffb6] -> dovecot/doveadm-server(doveadm_print+0x27) [0x563d01508fb7] 
-> dovecot/doveadm-server(+0x2b427) [0x563d014f4427] -> dove
cot/doveadm-server(+0x2da44) [0x563d014f6a44] -> 
dovecot/doveadm-server(doveadm_cmd_ver2_to_mail_cmd_wrapper+0x2cf) 
[0x563d014f7c6f]
  -> dovecot/doveadm-server(doveadm_cmd_run_ver2+0x43b) [0x563d01508c1b] 
-> dovecot/doveadm-server(+0x44612) [0x563d0150d612] -> /usr
/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x69) [0x7f4e594406d9] -> 
/usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal
+0x134) [0x7f4e59442034] -> 
/usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x50) 
[0x7f4e594407e0] -> /usr/lib/dovecot/libdovec
ot.so.0(io_loop_run+0x38) [0x7f4e59440a18] -> 
/usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) 
[0x7f4e593a6a23] -> dovecot/
doveadm-server(main+0x102) [0x563d014e6922] -> 
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7f4e58bc1bf7] 
-> dovecot/d
oveadm-server(_start+0x2a) [0x563d014e69aa]
Nov 11 07:17:50 vhrz311 dovecot: doveadm(119455): Fatal: master: 
service(doveadm): child 119455 killed with signal 6 (core dumped)

'doveconf -n':

# 2.3.17 (e2aa53df5b): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.17 (054dddfa)
# OS: Linux 4.15.0-162-generic x86_64 Ubuntu 18.04.6 LTS
# Hostname: vhrz311.HRZ.Uni-Marburg.DE
auth_cache_negative_ttl = 0
auth_cache_size = 10 M
auth_master_user_separator = *
auth_worker_max_count = 1024
base_dir = /var/run/dovecot/
default_client_limit = 10000
default_vsz_limit = 6 G
doveadm_password = # hidden, use -P to show it
doveadm_port = 12345
first_valid_gid = 10000
first_valid_uid = 10000
imap_max_line_length = 640 k
last_valid_gid = 10000
last_valid_uid = 10000
mail_attribute_dict = file:%h/mdbox/dovecot-attributes
mail_gid = 10000
mail_location = mdbox:%h/mdbox
mail_plugins = " mail_log notify zlib notify replication"
mail_privileged_group = mail
mail_uid = 10000
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope 
encoded-character vacation subaddress comparator-i;ascii-numeric 
relational regex imap4flags copy include variables body enotify 
environment mailbox date index ihave duplicate mime foreverypart extracttext
namespace inbox {
   hidden = no
   inbox = yes
   list = yes
   location =
   prefix =
   separator = /
   subscriptions = yes
   type = private
}
passdb {
   args = /etc/dovecot.deny
   deny = yes
   driver = passwd-file
}
passdb {
   args = /etc/dovecot/private/passwd.masterusers
   driver = passwd-file
   master = yes
}
passdb {
   args = /etc/dovecot/dovecot-ldap.hrz.conf.ext
   driver = ldap
   name = passdb_ldap_hrz
}
passdb {
   args = /etc/dovecot/dovecot-ldap.staff.conf.ext
   driver = ldap
   name = passdb_ldap_staff
}
passdb {
   args = /etc/dovecot/dovecot-ldap.students.conf.ext
   driver = ldap
   name = passdb_ldap_students
}
plugin {
   mail_replica = tcp:172.25.1.95
   sieve = file:~/sieve;active=~/.dovecot.sieve
   sieve_default = /var/lib/dovecot/default.sieve
   sieve_max_actions = 55
   sieve_max_redirects = 50
}
pop3_uidl_format = %08Xv%08Xu
postmaster_address = postmaster at hrz.uni-marburg.de
protocols = imap pop3 lmtp sieve
replication_dsync_parameters = -d -n INBOX -l 30 -U
replication_max_conns = 20
service aggregator {
   fifo_listener replication-notify-fifo {
     user = vmail
   }
   unix_listener replication-notify {
     user = vmail
   }
}
service auth-worker {
   user = $default_internal_user
}
service auth {
   client_limit = 10000
}
service config {
   process_min_avail = 8
}
service doveadm {
   inet_listener {
     port = 12345
   }
   vsz_limit = 6 G
}
service imap-login {
   process_min_avail = 64
   service_count = 0
}
service imap {
   process_limit = 8192
}
service lmtp {
   inet_listener lmtp {
     port = 24
   }
}
service managesieve-login {
   inet_listener sieve {
     port = 4190
   }
   process_min_avail = 8
   service_count = 0
}
service pop3-login {
   process_min_avail = 8
   service_count = 0
}
service replicator {
   process_min_avail = 1
   unix_listener replicator-doveadm {
     mode = 0600
     user = vmail
   }
}
service submission-login {
   service_count = 0
}
ssl = required
ssl_ca = </etc/ssl/certs/umr-chain.pem
ssl_cert = </etc/ssl/certs/vhrz311.hrz.uni-marburg.de.pem
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_require_crl = no
userdb {
   args = /etc/dovecot/dovecot-ldap-userdb.conf.ext
   driver = ldap
   name = userdb_ldap
}
protocol imap {
   imap_metadata = yes
   mail_max_userip_connections = 25
   mail_plugins = " mail_log notify zlib notify replication imap_zlib"
}
protocol lmtp {
   mail_plugins = " mail_log notify zlib notify replication sieve"
}

gdb:

gdb /usr/lib/dovecot/doveadm-server /var/vmail/system-cores/core
GNU gdb (Ubuntu 8.1.1-0ubuntu1) 8.1.1
Copyright (C) 2018 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/lib/dovecot/doveadm-server...(no debugging 
symbols found)...done.
[New LWP 119455]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `dovecot/doveadm-server'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007f4e58be0921 in __GI_abort () at abort.c:79
#2  0x00007f4e59427a11 in ?? () from /usr/lib/dovecot/libdovecot.so.0
#3  0x00007f4e59427b01 in ?? () from /usr/lib/dovecot/libdovecot.so.0
#4  0x00007f4e593744a7 in i_panic () from /usr/lib/dovecot/libdovecot.so.0
#5  0x00007f4e5944121c in io_loop_destroy () from 
/usr/lib/dovecot/libdovecot.so.0
#6  0x0000563d0150ffb6 in ?? ()
#7  0x0000563d01508fb7 in doveadm_print ()
#8  0x0000563d014f4427 in ?? ()
#9  0x0000563d014f6a44 in ?? ()
#10 0x0000563d014f7c6f in doveadm_cmd_ver2_to_mail_cmd_wrapper ()
#11 0x0000563d01508c1b in doveadm_cmd_run_ver2 ()
#12 0x0000563d0150d612 in ?? ()
#13 0x00007f4e594406d9 in io_loop_call_io () from 
/usr/lib/dovecot/libdovecot.so.0
#14 0x00007f4e59442034 in io_loop_handler_run_internal () from 
/usr/lib/dovecot/libdovecot.so.0
#15 0x00007f4e594407e0 in io_loop_handler_run () from 
/usr/lib/dovecot/libdovecot.so.0
#16 0x00007f4e59440a18 in io_loop_run () from 
/usr/lib/dovecot/libdovecot.so.0
#17 0x00007f4e593a6a23 in master_service_run () from 
/usr/lib/dovecot/libdovecot.so.0
#18 0x0000563d014e6922 in main ()


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5426 bytes
Desc: S/MIME Cryptographic Signature
URL: <https://dovecot.org/pipermail/dovecot/attachments/20211111/aa027fe4/attachment.p7s>


More information about the dovecot mailing list