Panic: file imap-sieve-storage.c: line 216 (imap_sieve_add_mailbox_event): assertion failed: (ismt->src_box == NULL || ismt->src_box == src_box)
Reposting my reply from a few days ago to a thread with the same panic message.
I found this in my logs when some mails that got deleted on the phone were still visible in roundcube. I currently have three users that trigger the panic. One user with an iPad accounts for nearly all of the panics.
The problem shows when the account is accessed from android (thunderbird) or ipad. The same accounts show no problems when beeing used with roundcube or thunderbird on windows.
I enabled core dumps on 2026-01-14 and have ~8500 core dumps of the imap binary until now.
What causes this error and how can I fix it? In the logs all I see is the users login, then the panic.
doveconf -n
2.4.2-2+debian13 (0962ed2104): /etc/dovecot/dovecot.conf
Pigeonhole version 2.4.2-2+debian13 (767418c3)
OS: Linux 6.12.0-custom.kvm x86_64 Debian 13.3 ext4
2026-01-13T21:44:32.317609+01:00 uschi dovecot: imap-login: Logged in: user=<user@example.com>, method=PLAIN, rip=<IP1>, lip=<IP2>, mpid=4194077, TLS, session=<cpkID0tId7dUc9rl> 2026-01-13T21:44:38.455379+01:00 uschi dovecot: imap(user@example.com)<4194077><cpkID0tId7dUc9rl>: Panic: file imap-sieve-storage.c: line 216 (imap_sieve_add_mailbox_event): assertion failed: (ismt->src_box == NULL || ismt->src_box == src_box) 2026-01-13T21:44:38.458755+01:00 uschi dovecot: imap(user@example.com)<4194077><cpkID0tId7dUc9rl>: Error: Raw backtrace: #1 [unw_get_proc_name() failed: -10] -> #2 [unw_get_proc_name() failed: -10] -> #3 i_panic[0x7f6b6c46c2f6] -> #4 [unw_get_proc_name() failed: -10] -> #5 [unw_get_proc_name() failed: -10] -> #6 [unw_get_proc_name() failed: -10] -> #7 mailbox_save_alloc[0x7f6b6ca103c0] -> #8 [unw_get_proc_name() failed: -10] -> #9 command_exec[0x55654e677400] -> #10 [unw_get_proc_name() failed: -10] -> #11 [unw_get_proc_name() failed: -10] -> #12 [unw_get_proc_name() failed: -10] -> #13 client_handle_input[0x55654e67ddc0] -> #14 client_continue_pending_input[0x55654e67e0b0] -> #15 io_loop_call_io[0x7f6b6c565490] -> #16 io_loop_handler_run_internal[0x7f6b6c567230] -> #17 io_loop_handler_run[0x7f6b6c5673c0] -> #18 io_loop_run[0x7f6b6c5675a0] -> #19 master_service_run[0x7f6b6c4b27f0] -> #20 main[0x55654e6688a0] -> #21 [unw_get_proc_name() failed: -10] -> #22 __libc_start_main[0x7f6b6c234ce0] -> #23 _start[0x55654e668eb0] 2026-01-13T21:44:38.459536+01:00 uschi dovecot: imap(user@example.com)<4194077><cpkID0tId7dUc9rl>: Fatal: master: service(imap): child 4194077 killed with signal 6 (core dumps disabled - https://dovecot.org/bugreport.html#coredumps)
coredumpctl dump
PID: 1071230 (imap)
UID: 5000 (vmail)
GID: 5000 (vmail)
Signal: 6 (ABRT)
Timestamp: Fri 2026-01-16 19:17:15 CET (2s ago)
Command Line: $'dovecot/imap [user@example.com <IP redacted> UID MOVE]' Executable: /usr/lib/dovecot/imap Control Group: /system.slice/dovecot.service Unit: dovecot.service Slice: system.slice Boot ID: 3668d179bda340229a780d5d43e426c3 Machine ID: 05698baa30ae984c9bd014566e16da18 Hostname: uschi Storage: /var/lib/systemd/coredump/core.imap.5000.3668d179bda340229a780d5d43e426c3.1071230.1768587435000000.zst (present) Size on Disk: 1.1M Message: Process 1071230 (imap) of user 5000 dumped core.
Module libgcc_s.so.1 from deb gcc-14-14.2.0-19.amd64
Module libstdc++.so.6 from deb gcc-14-14.2.0-19.amd64
Module libzstd.so.1 from deb libzstd-1.5.7+dfsg-1.amd64
Stack trace of thread 1071230:
#0 0x00007fbd1ca9f95c n/a (libc.so.6 + 0x9495c)
#1 0x00007fbd1ca4acc2 raise (libc.so.6 + 0x3fcc2)
#2 0x00007fbd1ca334ac abort (libc.so.6 + 0x284ac)
#3 0x00007fbd1cc6caa0 n/a (libdovecot.so.0 + 0x6caa0)
#4 0x00007fbd1cd49e67 n/a (libdovecot.so.0 + 0x149e67)
#5 0x00007fbd1cc6c3d0 i_panic (libdovecot.so.0 +
0x6c3d0) #6 0x00007fbd1c42f942 n/a (lib95_imap_sieve_plugin.so + 0x4942) #7 0x00007fbd1c431223 n/a (lib95_imap_sieve_plugin.so + 0x6223) #8 0x00007fbd1d258f10 n/a (libdovecot-storage.so.0 + 0x11bf10) #9 0x00007fbd1d1a843b mailbox_save_alloc (libdovecot-storage.so.0 + 0x6b43b) #10 0x00005590b7ed4a69 n/a (n/a + 0x0) ELF object binary architecture: AMD x86-64
-- Christian Kivalo
On 2026-01-16 19:25, Christian Kivalo via dovecot wrote:
Reposting my reply from a few days ago to a thread with the same panic message.
I found this in my logs when some mails that got deleted on the phone were still visible in roundcube. I currently have three users that trigger the panic. One user with an iPad accounts for nearly all of the panics.
The problem shows when the account is accessed from android (thunderbird) or ipad. The same accounts show no problems when beeing used with roundcube or thunderbird on windows.
I enabled core dumps on 2026-01-14 and have ~8500 core dumps of the imap binary until now.
What causes this error and how can I fix it? In the logs all I see is the users login, then the panic.
doveconf -n
2.4.2-2+debian13 (0962ed2104): /etc/dovecot/dovecot.conf
Pigeonhole version 2.4.2-2+debian13 (767418c3)
OS: Linux 6.12.0-custom.kvm x86_64 Debian 13.3 ext4
2026-01-13T21:44:32.317609+01:00 uschi dovecot: imap-login: Logged in: user=<user@example.com>, method=PLAIN, rip=<IP1>, lip=<IP2>, mpid=4194077, TLS, session=<cpkID0tId7dUc9rl> 2026-01-13T21:44:38.455379+01:00 uschi dovecot: imap(user@example.com)<4194077><cpkID0tId7dUc9rl>: Panic: file imap-sieve-storage.c: line 216 (imap_sieve_add_mailbox_event): assertion failed: (ismt->src_box == NULL || ismt->src_box == src_box) 2026-01-13T21:44:38.458755+01:00 uschi dovecot: imap(user@example.com)<4194077><cpkID0tId7dUc9rl>: Error: Raw backtrace: #1 [unw_get_proc_name() failed: -10] -> #2 [unw_get_proc_name() failed: -10] -> #3 i_panic[0x7f6b6c46c2f6] -> #4 [unw_get_proc_name() failed: -10] -> #5 [unw_get_proc_name() failed: -10] -> #6 [unw_get_proc_name() failed: -10] -> #7 mailbox_save_alloc[0x7f6b6ca103c0] -> #8 [unw_get_proc_name() failed: -10] -> #9 command_exec[0x55654e677400] -> #10 [unw_get_proc_name() failed: -10] -> #11 [unw_get_proc_name() failed: -10] -> #12 [unw_get_proc_name() failed: -10] -> #13 client_handle_input[0x55654e67ddc0] -> #14 client_continue_pending_input[0x55654e67e0b0] -> #15 io_loop_call_io[0x7f6b6c565490] -> #16 io_loop_handler_run_internal[0x7f6b6c567230] -> #17 io_loop_handler_run[0x7f6b6c5673c0] -> #18 io_loop_run[0x7f6b6c5675a0] -> #19 master_service_run[0x7f6b6c4b27f0] -> #20 main[0x55654e6688a0] -> #21 [unw_get_proc_name() failed: -10] -> #22 __libc_start_main[0x7f6b6c234ce0] -> #23 _start[0x55654e668eb0] 2026-01-13T21:44:38.459536+01:00 uschi dovecot: imap(user@example.com)<4194077><cpkID0tId7dUc9rl>: Fatal: master: service(imap): child 4194077 killed with signal 6 (core dumps disabled
coredumpctl dump
PID: 1071230 (imap) UID: 5000 (vmail) GID: 5000 (vmail) Signal: 6 (ABRT) Timestamp: Fri 2026-01-16 19:17:15 CET (2s ago)Command Line: $'dovecot/imap [user@example.com <IP redacted> UID MOVE]' Executable: /usr/lib/dovecot/imap Control Group: /system.slice/dovecot.service Unit: dovecot.service Slice: system.slice Boot ID: 3668d179bda340229a780d5d43e426c3 Machine ID: 05698baa30ae984c9bd014566e16da18 Hostname: uschi Storage: /var/lib/systemd/coredump/core.imap.5000.3668d179bda340229a780d5d43e426c3.1071230.1768587435000000.zst (present) Size on Disk: 1.1M Message: Process 1071230 (imap) of user 5000 dumped core.
Module libgcc_s.so.1 from deb gcc-14-14.2.0-19.amd64 Module libstdc++.so.6 from deb gcc-14-14.2.0-19.amd64 Module libzstd.so.1 from deb libzstd-1.5.7+dfsg-1.amd64 Stack trace of thread 1071230: #0 0x00007fbd1ca9f95c n/a (libc.so.6 + 0x9495c) #1 0x00007fbd1ca4acc2 raise (libc.so.6 + 0x3fcc2) #2 0x00007fbd1ca334ac abort (libc.so.6 + 0x284ac) #3 0x00007fbd1cc6caa0 n/a (libdovecot.so.0 + 0x6caa0) #4 0x00007fbd1cd49e67 n/a (libdovecot.so.0 + 0x149e67) #5 0x00007fbd1cc6c3d0 i_panic (libdovecot.so.0 +0x6c3d0) #6 0x00007fbd1c42f942 n/a (lib95_imap_sieve_plugin.so
- 0x4942) #7 0x00007fbd1c431223 n/a (lib95_imap_sieve_plugin.so
- 0x6223) #8 0x00007fbd1d258f10 n/a (libdovecot-storage.so.0 + 0x11bf10) #9 0x00007fbd1d1a843b mailbox_save_alloc (libdovecot-storage.so.0 + 0x6b43b) #10 0x00005590b7ed4a69 n/a (n/a + 0x0) ELF object binary architecture: AMD x86-64
With log_debug=category=imap I see that the iPad moves many mails from Inbox to Trash
[...] 2026-01-19T22:22:39.721023+01:00 uschi dovecot: imap(user@example.com)<1961360><T1M9SsRI4bZUc9rl>: Debug: Mailbox Trash: imapsieve: MOVE event 2026-01-19T22:22:39.721054+01:00 uschi dovecot: imap(user@example.com)<1961360><T1M9SsRI4bZUc9rl>: Debug: Mailbox INBOX: UID 56191: Expunge requested 2026-01-19T22:22:39.721090+01:00 uschi dovecot: imap(user@example.com)<1961360><T1M9SsRI4bZUc9rl>: Debug: Mailbox Trash: imapsieve: MOVE event 2026-01-19T22:22:39.721118+01:00 uschi dovecot: imap(user@example.com)<1961360><T1M9SsRI4bZUc9rl>: Debug: Mailbox INBOX: UID 56707: Expunge requested 2026-01-19T22:22:39.721147+01:00 uschi dovecot: imap(user@example.com)<1961360><T1M9SsRI4bZUc9rl>: Debug: Mailbox Trash: imapsieve: MOVE event 2026-01-19T22:22:39.721177+01:00 uschi dovecot: imap(user@example.com)<1961360><T1M9SsRI4bZUc9rl>: Debug: Mailbox INBOX: UID 56708: Expunge requested 2026-01-19T22:22:39.721205+01:00 uschi dovecot: imap(user@example.com)<1961360><T1M9SsRI4bZUc9rl>: Debug: Mailbox Trash: imapsieve: MOVE event 2026-01-19T22:22:39.721233+01:00 uschi dovecot: imap(user@example.com)<1961360><T1M9SsRI4bZUc9rl>: Debug: Mailbox INBOX: UID 58602: Expunge requested 2026-01-19T22:22:39.721268+01:00 uschi dovecot: imap(user@example.com)<1961360><T1M9SsRI4bZUc9rl>: Debug: Mailbox Trash: imapsieve: FLAG event (changed flags: $HasNoAttachment) 2026-01-19T22:22:39.721305+01:00 uschi dovecot: imap(user@example.com)<1961360><T1M9SsRI4bZUc9rl>: Panic: file imap-sieve-storage.c: line 216 (imap_sieve_add_mailbox_event): assertion failed: (ismt->src_box == NULL || ismt->src_box == src_box) 2026-01-19T22:22:39.721346+01:00 uschi dovecot: imap(user@example.com)<1961360><T1M9SsRI4bZUc9rl>: Error: Raw backtrace: #1 [unw_get_proc_name() failed: -10] -> #2 [unw_get_proc_name() failed: -10] -> #3 i_panic[0x7f518fa6c2f6] -> #4 [unw_get_proc_name() failed: -10] -> #5 [unw_get_proc_name() failed: -10] -> #6 [unw_get_proc_name() failed: -10] -> #7 mailbox_save_alloc[0x7f518fe8e3c0] -> #8 [unw_get_proc_name() failed: -10] -> #9 command_exec[0x555beedee400] -> #10 [unw_get_proc_name() failed: -10] -> #11 [unw_get_proc_name() failed: -10] -> #12 [unw_get_proc_name() failed: -10] -> #13 client_handle_input[0x555beedf4dc0] -> #14 client_input[0x555beedf5310] -> #15 io_loop_call_io[0x7f518fb65490] -> #16 io_loop_handler_run_internal[0x7f518fb67230] -> #17 io_loop_handler_run[0x7f518fb673c0] -> #18 io_loop_run[0x7f518fb675a0] -> #19 master_service_run[0x7f518fab27f0] -> #20 main[0x555beeddf8a0] -> #21 [unw_get_proc_name() failed: -10] -> #22 __libc_start_main[0x7f518f834ce0] -> #23 _start[0x555beeddfeb0] [...]
After this there are some mails beeing moved from Spam to Trash, then panic and all over again, always with the same set of UIDs.
I have successfully used "doveadm move" on some UIDs, that works and no errors. Also expunging UIDs with doveadm works without problems.
I have an imapsieve rule that sets the \\seen flag on every mail that's moved to Thrash. I disabled it for now and will look, if that changes anything.
What else should I be looking for?
-- Christian Kivalo
participants (1)
-
Christian Kivalo