I am experiencing a consistent panic while using doveadm sync on Dovecot v2.4.2. The panic occurs during a synchronization attempt between two servers. It appears that the sync panics when entering in a .Junk.Something folder.

Any idea? I attach the log lines and my configuration
Any help would be appreciated

Roberto


# doveadm -D sync -u postmaster@domain-tld tcp:10.0.0.24:12345
[...]
Feb 06 22:39:46 doveadm([email protected]): Panic: file hash.c: line 252 (hash_table_insert_node): assertion failed: (opcode == HASH_TABLE_OP_UPDATE) Feb 06 22:39:46 doveadm([email protected]): Error: Raw backtrace: libdovecot.so.0(backtrace_append+0x40) [0x7f7bba941860] -> libdovecot.so.0(backtrace_get+0x22) [0x7f7bba9419b2] -> libdovecot.so.0(+0x14fc12) [0x7f7bba94fc12] -> libdovecot.so.0(+0x14fc41) [0x7f7bba94fc41] -> libdovecot.so.0(+0x72375) [0x7f7bba872375] -> libdovecot.so.0(+0x732c3) [0x7f7bba8732c3] -> doveadm(dsync_mailbox_tree_build_name128_hash+0x9a) [0x55e5f58108ba] -> doveadm(dsync_mailbox_tree_fill+0x750) [0x55e5f5811bb0] -> doveadm(dsync_brain_mailbox_trees_init+0x192) [0x55e5f58055b2] -> doveadm(dsync_brain_master_init+0x191) [0x55e5f5801f51] -> doveadm(+0x3544b) [0x55e5f57e644b] -> doveadm(+0x3794e) [0x55e5f57e894e] -> doveadm(doveadm_cmd_ver2_to_mail_cmd_wrapper+0x244) [0x55e5f57e9684] -> doveadm(doveadm_cmdline_run+0x593) [0x55e5f57fd473] -> doveadm(doveadm_cmdline_try_run+0xba) [0x55e5f57fc67a] -> doveadm(main+0x2fd) [0x55e5f57dacfd] -> libc.so.6(__libc_start_main+0xcd) [0x7f7bba4fd03d] -> doveadm(_start+0x2a) [0x55e5f57db0ea]

# doveconf -n
# 2.4.2 (): /usr/local/dovecot/etc/dovecot/dovecot.conf
# Pigeonhole version 2.4.2 (767418c3)
# OS: Linux 6.15.3 x86_64 Slackware 15.0
# Hostname: qt
dovecot_config_version = 2.4.2
auth_allow_cleartext = yes
auth_allow_weak_schemes = yes
auth_default_domain = mydomain.tld
auth_mechanisms = plain login
auth_socket_path = ../../../var/run/dovecot/auth-userdb
debug_log_path = /var/log/dovecot/dovecot.log
default_login_user = vpopmail
doveadm_password = # hidden, use -P to show it
dovecot_storage_version = 2.4.2
first_valid_gid = 89
first_valid_uid = 89
fts_autoindex = yes
fts_autoindex_max_recent_msgs = 999
fts_search_add_missing = yes
hostname = mydomain.tld
last_valid_gid = 89
last_valid_uid = 89
listen {
  * = yes
  :: = no
}
log_debug = category=mail
log_path = /var/log/dovecot/dovecot.log
mail_access_groups = 89
mail_driver = maildir
mail_gid = 89
mail_path = ~/Maildir
mail_plugins {
  notify = yes
  fts = no
  fts_solr = no
  quota = yes
}
mail_privileged_group = 89
mail_uid = 89
mailbox_list_validate_fs_names = no
passdb_default_password_scheme = SHA512-CRYPT
postmaster_address = [email protected]
protocols {
  imap = yes
  pop3 = yes
  sieve = yes
}
sendmail_path = /var/qmail/bin/sendmail
sql_driver = mysql
ssl_min_protocol = TLSv1.1
passdb sql {
query = SELECT CONCAT(vpopmail.pw_name, '@', vpopmail.pw_domain) AS user, vpopmail.pw_passwd AS password, vpopmail.pw_dir AS userdb_home, 89 AS userdb_uid, 89 AS userdb_gid, CONCAT(REPLACE(SUBSTRING_INDEX(vpopmail.pw_shell, 'S', 1), 'NOQUOTA', '0'), 'B') AS userdb_quota_storage_size FROM vpopmail LEFT JOIN aliasdomains ON aliasdomains.alias='%{user | domain}' LEFT JOIN limits ON limits.domain='%{user | domain}' WHERE vpopmail.pw_name='%{user | username}' AND (vpopmail.pw_domain='%{user | domain}' OR vpopmail.pw_domain=aliasdomains.domain) AND ('%{local_port}'!='995' OR !(vpopmail.pw_gid & 2)) AND ('%{remote_ip}'!='10.0.0.4' OR !(vpopmail.pw_gid & 4)) AND ('%{remote_ip}'='10.0.0.4' OR '%{local_port}'!='993' OR !(vpopmail.pw_gid & 8)) AND ('%{remote_ip}'!='10.0.0.4' OR COALESCE(disable_webmail,0)!=1) AND ('%{remote_ip}'='10.0.0.4' OR COALESCE(disable_imap,0)!=1)
}
userdb prefetch {
  driver = prefetch
}
userdb sql {
iterate_query = SELECT CONCAT(pw_name,'@',pw_domain) AS user FROM vpopmail query = SELECT vpopmail.pw_dir AS home, 89 AS uid, 89 AS gid, CONCAT(REPLACE(SUBSTRING_INDEX(vpopmail.pw_shell, 'S', 1), 'NOQUOTA', '0'), 'B') AS quota_storage_size FROM vpopmail WHERE vpopmail.pw_name='%{user | username}' AND vpopmail.pw_domain='%{user | domain}'
}
namespace inbox {
  inbox = yes
  mailbox Drafts {
    auto = subscribe
    special_use = "\\Drafts"
  }
  mailbox Junk {
    autoexpunge = 30d
    special_use = "\\Junk"
  }
  mailbox Junk.TeachSpam {
    auto = subscribe
    autoexpunge = 30d
  }
  mailbox Junk.TeachNotSpam {
    auto = subscribe
    autoexpunge = 30d
  }
  mailbox Trash {
    autoexpunge = 60d
    special_use = "\\Trash"
    quota_storage_extra = 100M
  }
  mailbox Sent {
    special_use = "\\Sent"
  }
  mailbox "Sent Messages" {
    special_use = "\\Sent"
  }
}
protocol !indexer-worker {
  mail_vsize_bg_after_count = 100
}
maildir {
  broken_filename_sizes = yes
}
service imap-login {
  inet_listener imap {
  }
  inet_listener imaps {
  }
}
service pop3-login {
  inet_listener pop3 {
  }
  inet_listener pop3s {
  }
}
service imap {
  executable = imap postlogin
}
service pop3 {
  executable = pop3 postlogin
}
service postlogin {
  executable = script-login ../../etc/scripts/dovecot_postlogin.sh
  user = vpopmail
  unix_listener postlogin {
    group = vchkpw
    mode = 0660
    user = vpopmail
  }
}
service auth {
  user = $SET:default_internal_user
  unix_listener auth-userdb {
    group = vchkpw
    mode = 0660
    user = vpopmail
  }
}
service auth-worker {
  user = $SET:default_internal_user
}
service stats {
  unix_listener stats-reader {
    group = vchkpw
    mode = 0660
    user = vpopmail
  }
  unix_listener stats-writer {
    group = vchkpw
    mode = 0660
    user = vpopmail
  }
}
protocol lda {
  mail_plugins {
    sieve = yes
    mail_log = yes
  }
}
protocol imap {
  mail_plugins {
    notify = yes
    mail_log = yes
    imap_sieve = yes
    imap_quota = yes
  }
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
}
service managesieve {
}
protocol pop3 {
  mail_plugins {
    notify = yes
    mail_log = yes
  }
}
language en {
  default = yes
}
quota "User quota" {
  driver = count
  storage_grace = 10M
  quota_warning overquota {
    quota_storage_percentage = 100
    execute quota-warning {
      args = 100 %{user}
    }
  }
  quota_warning warn-95 {
    quota_storage_percentage = 95
    execute quota-warning {
      args = 95 %{user}
    }
  }
  quota_warning warn-85 {
    quota_storage_percentage = 85
    execute quota-warning {
      args = 85 %{user}
    }
  }
}
service quota-warning {
  executable = script ../../etc/scripts/quota-warning.sh
  user = vpopmail
  unix_listener quota-warning {
    group = vchkpw
    mode = 0660
    user = dovenull
  }
}
sieve_script personal {
  active_path = ~/.sieve/dovecot.sieve
  driver = file
  path = ~/.sieve
}
sieve_script move-spam {
  cause = delivery
  path = /usr/local/dovecot/etc/sieve/move-spam.sieve
  type = before
}
mysql 10.0.0.112 {
  dbname = vpopmail_test
  password = # hidden, use -P to show it
  user = vpopmail_test
}
ssl_server {
  cert_file = /etc/ssl/certs/dovecot.pem
  key_file = /etc/ssl/private/dovecot.pem
}
_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to