Dovecot 2.2.19 - Panic: file dict-sql.c: line 670 (sql_dict_iterate): assertion failed: ((ctx->flags & DICT_ITERATE_FLAG_ASYNC) != 0)
mailing lists
listas.correo at yahoo.es
Tue Oct 20 09:26:26 UTC 2015
Hello everyone,
For this installation I am using passdb against AD, userdb with MySQL and nfs storage but using simultaneously the vfile acl backend and the shared mailbox dictionary I get the following panic:
Oct 19 12:34:51 server dovecot: imap-login: Login: user=<user04>, method=PLAIN, rip=10.112.99.52, lip=10.113.63.50, mpid=7538, session=<NKsDsnIiU7YKcGM0>
Oct 19 12:34:51 server dovecot: dict(7540): Panic: file dict-sql.c: line 670 (sql_dict_iterate): assertion failed: ((ctx->flags & DICT_ITERATE_FLAG_ASYNC) != 0)
Oct 19 12:34:51 server dovecot: dict(7540): Error: Raw backtrace: /usr/lib64/dovecot/libdovecot.so.0() [0x31826800ca] -> /usr/lib64/dovecot/libdovecot.so.0() [0x3182680136] -> /usr/lib64/dovecot/libdovecot.so.0() [0x31826299ea] -> dovecot-mailbox/dict() [0x406abc] -> dovecot-mailbox/dict() [0x4047aa] -> dovecot-mailbox/dict() [0x404f32] -> dovecot-mailbox/dict(dict_command_input+0xab) [0x4050bb] -> dovecot-mailbox/dict() [0x40425b] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_call_io+0x5b) [0x3182692deb] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0xb7) [0x31826943c7] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run+0x25) [0x3182692e95] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x3182693038] -> /usr/lib64/dovecot/libdovecot.so.0(master_service_run+0x13) [0x318262e953] -> dovecot-mailbox/dict(main+0x165) [0x405295] -> /lib64/libc.so.6(__libc_start_main+0xfd) [0x303be1ed5d] -> dovecot-mailbox/dict() [0x403da9]
Oct 19 12:34:51 server dovecot: dict(7540): Fatal: master: service(dict): child 7540 killed with signal 6 (core dumps disabled)
to reproduce the panic I only have to delete the dovecot-acl-list file and access the mailbox. It looks like that this commit http://hg.dovecot.org/dovecot-2.2/rev/7ccff6d5dd1b is causing the panic.
# 2.2.19: /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.9 (357ac0a0e68b+)
# OS: Linux 2.6.32-573.1.1.el6.x86_64 x86_64 Red Hat Enterprise Linux Server release 6.7 (Santiago)
auth_master_user_separator = *
auth_username_format = %Ln
dict {
acl = mysql:/etc/dovecot/dovecot-dict-acl.conf.ext
}
disable_plaintext_auth = no
instance_name = dovecot-mailbox
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
listen = *
lmtp_rcpt_check_quota = yes
lmtp_save_to_detail_mailbox = yes
mail_fsync = always
mail_gid = vmail
mail_nfs_index = yes
mail_nfs_storage = yes
mail_plugins = " mail_log notify acl mailbox_alias quota listescape"
mail_uid = vmail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex im
ap4flags copy include variables body enotify environment mailbox date index ihave duplicate imapflags notify
mbox_write_locks = fcntl
mmap_disable = yes
namespace {
list = children
location = maildir:%%h/Mail:INDEX=~/shared/%%u:INDEXPVT=~/shared-pvt/%%u
prefix = shared/%%u/
separator = /
subscriptions = no
type = shared
}
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
}
mailbox sent_mail_folder {
special_use = \Sent
}
mailbox trash_folder {
special_use = \Trash
}
prefix =
separator = /
type = private
}
passdb {
args = /etc/dovecot/dovecot-pass_db-ldap.conf.ext
driver = ldap
}
plugin {
acl = vfile
acl_shared_dict = proxy::acl
mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename flag_change append
mail_log_fields = uid box msgid from subject size flags
sieve = file:~/sieve;active=~/.dovecot.sieve
sieve_extensions = +notify +imapflags
sieve_max_actions = 32
sieve_max_redirects = 25
sieve_max_script_size = 1M
sieve_quota_max_storage = 10M
}
protocols = imap pop3 lmtp sieve
service auth {
unix_listener auth-userdb {
group = vmail
}
}
service dict {
unix_listener dict {
group = dovecot
mode = 0660
user = vmail
}
}
service lmtp {
inet_listener lmtp {
port = 24
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
inet_listener sieve_deprecated {
port = 2000
}
service_count = 1
}
service managesieve {
process_limit = 1024
}
ssl = no
userdb {
args = /etc/dovecot/dovecot-user_db-sql.conf.ext
driver = sql
}
verbose_proctitle = yes
protocol lmtp {
mail_plugins = " mail_log notify acl mailbox_alias quota listescape sieve"
}
protocol lda {
mail_plugins = " mail_log notify acl mailbox_alias quota listescape sieve"
}
protocol imap {
mail_plugins = " mail_log notify acl mailbox_alias quota listescape imap_acl imap_quota"
}
protocol sieve {
managesieve_implementation_string = Dovecot Pigeonhole
managesieve_logout_format = bytes=%i/%o
managesieve_max_compile_errors = 1
managesieve_max_line_length = 65536
}
protocol pop3 {
mail_plugins = " mail_log notify acl mailbox_alias quota listescape"
}
More information about the dovecot
mailing list