• We value your experience with Plesk during 2025
    Plesk strives to perform even better in 2026. To help us improve further, please answer a few questions about your experience with Plesk Obsidian 2025.
    Please take this short survey:

    https://survey.webpros.com/

Resolved Dovecot-pigeonhole version 2.4.2 used by Plesk Obsidian 18.0.76 causes dovecot to panic crash

danami

Silver Pleskian
Username:

TITLE

Dovecot-pigeonhole version 2.4.2 used by Plesk Obsidian 18.0.76 causes dovecot to panic crash

PRODUCT, VERSION, OPERATING SYSTEM, ARCHITECTURE

Product version: Plesk Obsidian 18.0.76.1
OS version: Ubuntu 24.04 x86_64
Build date: 2026/02/18 09:00
Revision: f84108e33ae43d7bb0e6258488f707b39764d84f

PROBLEM DESCRIPTION

There is a known issue in the dovecot-pigeonhole v2.4.2 shipped with Plesk 18.0.76 related to how certain email clients handle message movement, particularly when the Sieve plugin is involved. The panic is often triggered by specific IMAP client behaviors, such as moving or deleting emails, especially from mobile devices like iPads or Android phones using apps like Thunderbird. The issue seems to stem from a conflict within the internal handling of the source mailbox during the Sieve-related operations. It has been widely discussed on the Dovecot mailing list and Plesk forums.

STEPS TO REPRODUCE

Upgrade to Plesk 18.0.76+ and you will see panics in your logs when the sieve plugin is used:

Code:
Feb 19 21:12:50 hosting dovecot: service=imap, user=user@domain, ip=[2a01:599:b2c:fd7c:5c44:12cd:c6c8:e118]. Error: Raw backtrace: libdovecot.so.0(backtrace_append+0x3e) [0x7ff251139fde] -> libdovecot.so.0(backtrace_get+0x22) [0x7ff25113a112] -> libdovecot.so.0(+0x14870e) [0x7ff25114870e] -> libdovecot.so.0(+0x1487b1) [0x7ff2511487b1] -> libdovecot.so.0(+0x6c296) [0x7ff25106c296] -> lib95_imap_sieve_plugin.so(+0x49df) [0x7ff2513c79df] -> lib95_imap_sieve_plugin.so(+0x7aab) [0x7ff2513caaab] -> libdovecot-storage.so.0(+0x657ee) [0x7ff2515477ee] -> libdovecot-storage.so.0(mailbox_save_alloc+0x79) [0x7ff25154bc59] -> imap(+0x17215) [0x561ca9779215] -> imap(command_exec+0x9c) [0x561ca9787d8c] -> imap(+0x23c92) [0x561ca9785c92] -> imap(+0x23d34) [0x561ca9785d34] -> imap(+0x23fbb) [0x561ca9785fbb] -> imap(client_handle_input+0x1c5) [0x561ca9786195] -> imap(client_input+0x73) [0x561ca9786743] -> libdovecot.so.0(io_loop_call_io+0x69) [0x7ff25115f319] -> libdovecot.so.0(io_loop_handler_run_internal+0x132) [0x7ff251160a02] -> libdovecot.so.0(io_loop_handler_run+0x50) [0x7ff25115f3c0] -> libdovecot.so.0(io_loop_run+0x40) [0x7ff25115f5a0] -> libdovecot.so.0(master_service_run+0xe8) [0x7ff2510afd18] -> imap(main+0x3fe) [0x561ca97769ee] -> libc.so.6(+0x2724a) [0x7ff250e4524a] -> libc.so.6(__libc_start_main+0x85) [0x7ff250e45305] -> imap(_start+0x21) [0x561ca9776ba1]

ACTUAL RESULT

Dovecot panics when using certain operations with the sieve plugin.

EXPECTED RESULT

Dovecot should not panic when using the sieve plugin.

ANY ADDITIONAL INFORMATION

Workaround
I've confirmed that the fix below will fix the issue:

Code:
// apply the fix
echo 'mail_attachment_detection_options =' > /etc/dovecot/conf.d/999_fix_crash.conf

// restart dovecot
systemctl restart dovecot

Dovecot 2.4.3 reverted the default for this setting to be empty to fix the issue:
All Settings | Dovecot CE

YOUR EXPECTATIONS FROM PLESK SERVICE TEAM

Confirm bug
 
The bug has been confirmed under PPPM-15312. As you've already determined, the same is caused by upstream changes in Dovecot 2.4.2 leading to an incompatibility issues between imap_sieve. Our team is working on a hotfix, which should be released soon.
 
Username:

TITLE


Dovecot-pigeonhole version 2.4.2 used by Plesk Obsidian 18.0.76 causes dovecot to panic crash

PRODUCT, VERSION, OPERATING SYSTEM, ARCHITECTURE

Product version: Plesk Obsidian 18.0.76.1
OS version: Ubuntu 24.04 x86_64
Build date: 2026/02/18 09:00
Revision: f84108e33ae43d7bb0e6258488f707b39764d84f

PROBLEM DESCRIPTION

There is a known issue in the dovecot-pigeonhole v2.4.2 shipped with Plesk 18.0.76 related to how certain email clients handle message movement, particularly when the Sieve plugin is involved. The panic is often triggered by specific IMAP client behaviors, such as moving or deleting emails, especially from mobile devices like iPads or Android phones using apps like Thunderbird. The issue seems to stem from a conflict within the internal handling of the source mailbox during the Sieve-related operations. It has been widely discussed on the Dovecot mailing list and Plesk forums.

STEPS TO REPRODUCE

Upgrade to Plesk 18.0.76+ and you will see panics in your logs when the sieve plugin is used:

Code:
Feb 19 21:12:50 hosting dovecot: service=imap, user=user@domain, ip=[2a01:599:b2c:fd7c:5c44:12cd:c6c8:e118]. Error: Raw backtrace: libdovecot.so.0(backtrace_append+0x3e) [0x7ff251139fde] -> libdovecot.so.0(backtrace_get+0x22) [0x7ff25113a112] -> libdovecot.so.0(+0x14870e) [0x7ff25114870e] -> libdovecot.so.0(+0x1487b1) [0x7ff2511487b1] -> libdovecot.so.0(+0x6c296) [0x7ff25106c296] -> lib95_imap_sieve_plugin.so(+0x49df) [0x7ff2513c79df] -> lib95_imap_sieve_plugin.so(+0x7aab) [0x7ff2513caaab] -> libdovecot-storage.so.0(+0x657ee) [0x7ff2515477ee] -> libdovecot-storage.so.0(mailbox_save_alloc+0x79) [0x7ff25154bc59] -> imap(+0x17215) [0x561ca9779215] -> imap(command_exec+0x9c) [0x561ca9787d8c] -> imap(+0x23c92) [0x561ca9785c92] -> imap(+0x23d34) [0x561ca9785d34] -> imap(+0x23fbb) [0x561ca9785fbb] -> imap(client_handle_input+0x1c5) [0x561ca9786195] -> imap(client_input+0x73) [0x561ca9786743] -> libdovecot.so.0(io_loop_call_io+0x69) [0x7ff25115f319] -> libdovecot.so.0(io_loop_handler_run_internal+0x132) [0x7ff251160a02] -> libdovecot.so.0(io_loop_handler_run+0x50) [0x7ff25115f3c0] -> libdovecot.so.0(io_loop_run+0x40) [0x7ff25115f5a0] -> libdovecot.so.0(master_service_run+0xe8) [0x7ff2510afd18] -> imap(main+0x3fe) [0x561ca97769ee] -> libc.so.6(+0x2724a) [0x7ff250e4524a] -> libc.so.6(__libc_start_main+0x85) [0x7ff250e45305] -> imap(_start+0x21) [0x561ca9776ba1]

ACTUAL RESULT

Dovecot panics when using certain operations with the sieve plugin.

EXPECTED RESULT

Dovecot should not panic when using the sieve plugin.

ANY ADDITIONAL INFORMATION

Workaround

I've confirmed that the fix below will fix the issue:

Code:
// apply the fix
echo 'mail_attachment_detection_options =' > /etc/dovecot/conf.d/999_fix_crash.conf

// restart dovecot
systemctl restart dovecot

Dovecot 2.4.3 reverted the default for this setting to be empty to fix the issue:
All Settings | Dovecot CE

YOUR EXPECTATIONS FROM PLESK SERVICE TEAM

Confirm bug
Thanks for the workaorund, but here it doesn't work. The logs still appear:
crit dovecot
service=imap, user=[email protected], ip=[xxx.xxx.xxx.xxx]. Panic: file imap-sieve-storage.c: line 216 (imap_sieve_add_mailbox_event): assertion failed: (ismt->src_box == NULL || ismt->src_box == src_box)
errdovecotservice=imap, user=[email protected], ip=[xxx.xxx.xxx.xxx]. Error: Raw backtrace: libdovecot.so.0(backtrace_append+0x42) [0x7f6f085723e2] -> libdovecot.so.0(backtrace_get+0x26) [0x7f6f08572526] -> libdovecot.so.0(+0x155e72) [0x7f6f08580e72] -> libdovecot.so.0(+0x155f07) [0x7f6f08580f07] -> libdovecot.so.0(+0x74b84) [0x7f6f0849fb84] -> lib95_imap_sieve_plugin.so(+0x6f62) [0x7f6f040b7f62] -> lib95_imap_sieve_plugin.so(+0x78fc) [0x7f6f040b88fc] -> libdovecot-storage.so.0(index_mail_free+0x12) [0x7f6f08adf6e2] -> lib95_imap_sieve_plugin.so(+0x6bf3) [0x7f6f040b7bf3] -> libdovecot-storage.so.0(mail_free+0x1e) [0x7f6f08a5457e] -> libdovecot-storage.so.0(+0xfc448) [0x7f6f08af2448] -> libdovecot-storage.so.0(mail_index_transaction_commit_full+0x80) [0x7f6f08b0ba10] -> libdovecot-storage.so.0(index_transaction_commit+0xf1) [0x7f6f08af2ab1] -> libdovecot-storage.so.0(+0xd6f9a) [0x7f6f08accf9a] -> lib95_imap_sieve_plugin.so(+0x82e9) [0x7f6f040b92e9] -> lib10_quota_plugin.so(+0xde42) [0x7f6f044cfe42] -> libdovecot-storage.so.0(mailbox_transaction_commit_get_changes+0x78) [0x7f6f08a66378] -> imap(+0x19425) [0x561b47f68425] -> imap(command_exec+0x6c) [0x561b47f76eac] -> imap(+0x25dbf) [0x561b47f74dbf] -> imap(+0x25e71) [0x561b47f74e71] -> imap(+0x26092) [0x561b47f75092] -> imap(client_handle_input+0x1cd) [0x561b47f752ad] -> imap(client_input+0x79) [0x561b47f757e9] -> libdovecot.so.0(io_loop_call_io+0x6d) [0x7f6f08598b4d] -> libdovecot.so.0(io_loop_handler_run_internal+0x139) [0x7f6f0859a269] -> libdovecot.so.0(io_loop_handler_run+0x50) [0x7f6f08598bf0] -> libdovecot.so.0(io_loop_run+0x40) [0x7f6f08598d80] -> libdovecot.so.0(master_service_run+0xea) [0x7f6f084e3ffa] -> imap(main+0x3e8) [0x561b47f65668]
 
Back
Top