Panic: file imap-sieve-storage.c: line 216 (imap_sieve_add_mailbox_event): assertion failed: (ismt->src_box == NULL || ismt->src_box == src_box)
Hello, I'm new to dovecot and greet everyone! I come from courier-imap and updated my imap server now to dovecot-2.4.2. All user directories and files were copied 1:1. In some cases, I now receive the following message in logfiles:
2025-11-28 15:20:52.184760182 Nov 28 15:20:52 imap(Email_address_hidden)<2297539><zNQfVqhEx98l90IK>: Error: Raw backtrace: libdovecot.so.0(backtrace_append+0x39) [0x7f8eb793ab09] -> libdovecot.so.0(backtrace_get+0x22) [0x7f8eb793ac42] -> libdovecot.so.0(+0x1493fc) [0x7f8eb79493fc] -> libdovecot.so.0(+0x149491) [0x7f8eb7949491] -> libdovecot.so.0(+0x6bde2) [0x7f8eb786bde2] -> lib95_imap_sieve_plugin.so(+0x49b7) [0x7f8eb74bb9b7] -> lib95_imap_sieve_plugin.so(+0x7c8b) [0x7f8eb74bec8b] -> libdovecot-storage.so.0(index_mail_free+0xe) [0x7f8eb7cb4c9e] -> lib95_imap_sieve_plugin.so(+0x6ef5) [0x7f8eb74bdef5] -> libdovecot-storage.so.0(mail_free+0x1a) [0x7f8eb7c29bca] -> libdovecot-storage.so.0(+0xf5c52) [0x7f8eb7cc7c52] -> libdovecot-storage.so.0(mail_index_transaction_commit_full+0x8c) [0x7f8eb7ce11ec] -> libdovecot-storage.so.0(index_transaction_commit+0xf2) [0x7f8eb7cc81f2] -> libdovecot-storage.so.0(+0xcff1e) [0x7f8eb7ca1f1e] -> lib95_imap_sieve_plugin.so(+0x8576) [0x7f8eb74bf576] -> lib15_notify_plugin.so(+0x368f) [0x7f8eb7bc668f] -> lib10_quota_plugin.so(+0xd99d) [0x7f8eb74d999d] -> libdovecot-storage.so.0(mailbox_transaction_commit_get_changes+0x79) [0x7f8eb7c3bac9] -> imap(+0x1762b) [0x562bf69c462b] -> imap(command_exec+0xa4) [0x562bf69d3334] -> imap(+0x24180) [0x562bf69d1180] -> imap(+0x24214) [0x562bf69d1214] -> imap(+0x2449b) [0x562bf69d149b] -> imap(client_handle_input+0x1c5) [0x562bf69d1675] -> imap(client_input+0x73) [0x562bf69d1c33] -> libdovecot.so.0(io_loop_call_io+0x67) [0x7f8eb7960187] -> libdovecot.so.0(io_loop_handler_run_internal+0x12a) [0x7f8eb79618ba] -> libdovecot.so.0(io_loop_handler_run+0x51) [0x7f8eb7960231] -> libdovecot.so.0(io_loop_run+0x48) [0x7f8eb7960408] -> libdovecot.so.0(master_service_run+0x19e) [0x7f8eb78b011e] 2025-11-28 15:20:52.940692672 Nov 28 15:20:52 imap(Email_address_hiddene)<2297539><zNQfVqhEx98l90IK>: Fatal: master: service(imap): child 2297539 killed with signal 6 (core dumped)
If I filter for "Panic" now I see: 2025-11-28 15:20:52.183676628 Nov 28 15:20:52 imap(Email_address_hidden)<2297539><zNQfVqhEx98l90IK>: Panic: file imap-sieve-storage.c: line 216 (imap_sieve_add_mailbox_event): assertion failed: (ismt->src_box == NULL || ismt->src_box == src_box)
Panic repeats up to several times.
In moment of crash I can find lots [# of repeats] of copies of ONE mail file in users .Trash/tmp dir. Original mail file also in e.g. INBOX/cur
Please tell me wht's going on here. I checked all permission, dirs and so on.
CentOS 10 s/qmail dovecot-2.4.2 dovecot-pigeonhole-2.4.2
Regards, Thomas
We'll need a look at your configuration (dovecot -n).
Op 28-11-2025 om 17:34 schreef Thomas via dovecot:
Hello, I'm new to dovecot and greet everyone! I come from courier-imap and updated my imap server now to dovecot-2.4.2. All user directories and files were copied 1:1. In some cases, I now receive the following message in logfiles:
2025-11-28 15:20:52.184760182 Nov 28 15:20:52 imap(Email_address_hidden)<2297539><zNQfVqhEx98l90IK>: Error: Raw backtrace: libdovecot.so.0(backtrace_append+0x39) [0x7f8eb793ab09] -> libdovecot.so.0(backtrace_get+0x22) [0x7f8eb793ac42] -> libdovecot.so.0(+0x1493fc) [0x7f8eb79493fc] -> libdovecot.so.0(+0x149491) [0x7f8eb7949491] -> libdovecot.so.0(+0x6bde2) [0x7f8eb786bde2] -> lib95_imap_sieve_plugin.so(+0x49b7) [0x7f8eb74bb9b7] -> lib95_imap_sieve_plugin.so(+0x7c8b) [0x7f8eb74bec8b] -> libdovecot-storage.so.0(index_mail_free+0xe) [0x7f8eb7cb4c9e] -> lib95_imap_sieve_plugin.so(+0x6ef5) [0x7f8eb74bdef5] -> libdovecot-storage.so.0(mail_free+0x1a) [0x7f8eb7c29bca] -> libdovecot-storage.so.0(+0xf5c52) [0x7f8eb7cc7c52] -> libdovecot-storage.so.0(mail_index_transaction_commit_full+0x8c) [0x7f8eb7ce11ec] -> libdovecot-storage.so.0(index_transaction_commit+0xf2) [0x7f8eb7cc81f2] -> libdovecot-storage.so.0(+0xcff1e) [0x7f8eb7ca1f1e] -> lib95_imap_sieve_plugin.so(+0x8576) [0x7f8eb74bf576] -> lib 15_notify_plugin.so(+0x368f) [0x7f8eb7bc668f] -> lib10_quota_plugin.so(+0xd99d) [0x7f8eb74d999d] -> libdovecot-storage.so.0(mailbox_transaction_commit_get_changes+0x79) [0x7f8eb7c3bac9] -> imap(+0x1762b) [0x562bf69c462b] -> imap(command_exec+0xa4) [0x562bf69d3334] -> imap(+0x24180) [0x562bf69d1180] -> imap(+0x24214) [0x562bf69d1214] -> imap(+0x2449b) [0x562bf69d149b] -> imap(client_handle_input+0x1c5) [0x562bf69d1675] -> imap(client_input+0x73) [0x562bf69d1c33] -> libdovecot.so.0(io_loop_call_io+0x67) [0x7f8eb7960187] -> libdovecot.so.0(io_loop_handler_run_internal+0x12a) [0x7f8eb79618ba] -> libdovecot.so.0(io_loop_handler_run+0x51) [0x7f8eb7960231] -> libdovecot.so.0(io_loop_run+0x48) [0x7f8eb7960408] -> libdovecot.so.0(master_service_run+0x19e) [0x7f8eb78b011e] 2025-11-28 15:20:52.940692672 Nov 28 15:20:52 imap(Email_address_hiddene)<2297539><zNQfVqhEx98l90IK>: Fatal: master: service(imap): child 2297539 killed with signal 6 (core dumped)
If I filter for "Panic" now I see: 2025-11-28 15:20:52.183676628 Nov 28 15:20:52 imap(Email_address_hidden)<2297539><zNQfVqhEx98l90IK>: Panic: file imap-sieve-storage.c: line 216 (imap_sieve_add_mailbox_event): assertion failed: (ismt->src_box == NULL || ismt->src_box == src_box)
Panic repeats up to several times.
In moment of crash I can find lots [# of repeats] of copies of ONE mail file in users .Trash/tmp dir. Original mail file also in e.g. INBOX/cur
Please tell me wht's going on here. I checked all permission, dirs and so on.
CentOS 10 s/qmail dovecot-2.4.2 dovecot-pigeonhole-2.4.2
Regards, Thomas
dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org
For anonymization reasons, I have hidden the host and domain names:
2.4.2 (0962ed2104): /usr/local/dovecot/etc/dovecot/dovecot.conf
Pigeonhole version 2.4.2 (767418c3)
OS: Linux 6.12.0-157.el10.x86_64 x86_64 CentOS Stream release 10 (Coughlan)
Hostname: xxx.domain.tld
dovecot_config_version = 2.4.2 auth_allow_cleartext = yes auth_allow_weak_schemes = yes auth_default_domain = domain.tld auth_mechanisms = plain login auth_socket_path = /usr/local/dovecot/var/run/dovecot/auth-userdb auth_verbose = yes auth_verbose_passwords = sha1 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 = xxx.domain.tld last_valid_gid = 89 last_valid_uid = 89 listen {
- = yes :: = no } log_path = /dev/stderr mail_access_groups = 89 mail_driver = maildir mail_gid = 89 mail_path = ~/Maildir mail_plugins { notify = yes quota = yes } mail_privileged_group = 89 mail_uid = 89 mailbox_list_validate_fs_names = no passdb_default_password_scheme = SHA512-CRYPT postmaster_address = postmaster@xxx.domain.tld protocols { imap = yes sieve = yes } sql_driver = mysql 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}'!='127.0.0.1' OR !(vpopmail.pw_gid & 4)) AND ('%{remote_ip}'='127.0.0.1' OR '%{local_port}'!='993' OR !(vpopmail.pw_gid & 8)) AND ('%{remote_ip}'!='127.0.0.1' OR COALESCE(disable_webmail,0)!=1) AND ('%{remote_ip}'='127.0.0.1' 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 Trash { autoexpunge = 30d special_use = "\\Trash" quota_storage_extra = 100M } mailbox Sent { special_use = "\\Sent" } mailbox "Sent Messages" { special_use = "\\Sent" } } maildir { broken_filename_sizes = yes } service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } } service imap { } 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 } } 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 { } language en { default = yes } quota "User quota" { driver = maildir 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 } mysql localhost { dbname = vpopmail password = # hidden, use -P to show it user = vpopmail } ssl_server { cert_file = /etc/pki/tls/certs/domain.tld.pem key_file = /etc/pki/tls/private/domain.tld.key }
participants (2)
-
Stephan Bosch
-
Thomas