• 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/

Issue Dovecot Problem since v18.0.76? may fill all disk space

ChristophRo

Regular Pleskian
Server operating system version
Debian 12
Plesk version and microupdate number
18.0.76
Since yesterday we now had two different servers, where the disk/partition for emails filled up completely within a very short time. (many 100 Gigs in our case)
Both servers got updated to Plesk 18.0.76 beforehand and as we never ever had such an occurrence in the past, I do suspect a correlation...

What happens, is that thousands of the same file/mail gets written into a tmp folder of a mailbox.
It does also not respect the quota limit of a mailbox either.

Anyone else seeing this problem?

plesk-qmail.png
 
OK, it's worse than expected....

Happens on ALL our servers with Plesk 18.0.76

ls -al /var/qmail/mailnames/*/*/Maildir/.Trash/tmp
reveals that the same behavior can be seen on many account, but some do only have a couple hundred of the same files/mails in that folder and not very big ones.
but we also see folders with several million! copies of the same file in it and depending on it's size, it hurts sooner or later...
 
Hi, @ChristophRo . The issue could be due to the presence of hardlinked files under the /tmp folder. Please execute the following commands and compare the sizes:

Code:
du -shl /var/qmail/mailnames/example.com/user/Maildir/.Trash/tmp
du -sh /var/qmail/mailnames/example.com/user/Maildir/.Trash/tmp

If there's significant difference, please try deleting the content of the folder:

Code:
rm -rf /var/qmail/mailnames/example.com/user/Maildir/.Trash/tmp/*

Then recalculate the usage.
 
we have already a cronjob running, that periodically removes these files in all tmp folders...
Bash:
shopt -s dotglob; find /var/qmail/mailnames/*/*/Maildir/*/tmp -type f -delete

but they all keep reappearing (except if we disable these users/mail accounts)

I did now also open a support request with Plesk and will look into possibilities to downgrade Dovecot from 2.4.2 to 2.4.1 again
 
Dovecot has been updated to version 2.4.2, so some behavior changes may occur on its side.
As far as I know, the tmp folder should not hold files for long—it only keeps them until they are delivered (likely into .Trash/new in this case). This suggests that Dovecot attempted to move the emails to Trash (triggered by the update) but was unable to complete the operation for some reason. There may be relevant evidence in the maillog.
I would propose to create a support ticket for deep investigation.
 
OK, I've downgraded dovecot on one of our servers and the problem is gone!
Now I just have to repeat these steps on the other servers and make sure that no auto-upgrade is happening again

In case anyone else is having the same problem and needs to do the same:

Warning! this only applies to Debian 12!
 
sorry, needed new post as there an error in the code snippets and editing does not work with these in it

Bash:
wget http://ch.origin.autoinstall.plesk.com/pool/PSA_18.0.75_18153/dist-deb-Debian-12.0-x86_64/opt/mail/plesk-dovecot_2.4.1-4-v.debian.12+p18.0.75.0+t251208.1034_amd64.deb
wget http://ch.origin.autoinstall.plesk.com/pool/PSA_18.0.75_18153/dist-deb-Debian-12.0-x86_64/opt/mail/plesk-dovecot-core_2.4.1-4-v.debian.12+p18.0.75.0+t251208.1034_amd64.deb
wget http://ch.origin.autoinstall.plesk.com/pool/PSA_18.0.75_18153/dist-deb-Debian-12.0-x86_64/opt/mail/plesk-dovecot-imap-driver_18.0-v.debian.12+p18.0.75.0+t251219.1246_amd64.deb
wget http://ch.origin.autoinstall.plesk.com/pool/PSA_18.0.75_18153/dist-deb-Debian-12.0-x86_64/opt/mail/plesk-dovecot-pigeonhole_2.4.1-4-v.debian.12+p18.0.75.0+t251208.1034_amd64.deb

apt install ./plesk-dovecot_2.4.1-4-v.debian.12+p18.0.75.0+t251208.1034_amd64.deb ./plesk-dovecot-core_2.4.1-4-v.debian.12+p18.0.75.0+t251208.1034_amd64.deb ./plesk-dovecot-imap-driver_18.0-v.debian.12+p18.0.75.0+t251219.1246_amd64.deb ./plesk-dovecot-pigeonhole_2.4.1-4-v.debian.12+p18.0.75.0+t251208.1034_amd64.deb
 
looks like these problems are caused by crashes in the dovecot imap/sieve process
Feb 19 11:59:29 plesk01 dovecot: service=imap, user=[email protected], ip=[1.2.3.4]. Panic: file imap-sieve-storage.c: line 216 (imap_sieve_add_mailbox_event): assertion failed: (ismt->src_box == NULL || ismt->src_box == src_box)
Feb 19 11:59:29 plesk01 dovecot: service=imap, user=[email protected], ip=[1.2.3.4]. Error: Raw backtrace: libdovecot.so.0(backtrace_append+0x3e) [0x7f554c739fde] -> libdovecot.so.0(backtrace_get+0x22) [0x7f554c73a112] -> libdovecot.so.0(+0x14870e) [0x7f554c74870e] -> libdovecot.so.0(+0x1487b1) [0x7f554c7487b1] -> libdovecot.so.0(+0x6c296) [0x7f554c66c296] -> lib95_imap_sieve_plugin.so(+0x49df) [0x7f5549bf69df] -> lib95_imap_sieve_plugin.so(+0x7aab) [0x7f5549bf9aab] -> libdovecot-storage.so.0(index_mail_free+0xe) [0x7f554cbae54e] -> lib95_imap_sieve_plugin.so(+0x6de7) [0x7f5549bf8de7] -> libdovecot-storage.so.0(mail_free+0x1a) [0x7f554cb24bda] -> libdovecot-storage.so.0(+0xf4044) [0x7f554cbc1044] -> libdovecot-storage.so.0(mail_index_transaction_commit_full+0x83) [0x7f554cbd9c53] -> libdovecot-storage.so.0(index_transaction_commit+0xe9) [0x7f554cbc15a9] -> libdovecot-storage.so.0(+0xcef0e) [0x7f554cb9bf0e] -> lib95_imap_sieve_plugin.so(+0x83c3) [0x7f5549bfa3c3] -> lib10_quota_plugin.so(+0xe17f) [0x7f554ca1317f] -> libdovecot-storage.so.0(mailbox_transaction_commit_get_changes+0x7b) [0x7f554cb369db] -> imap(+0x17324) [0x55c8ef283324] -> imap(command_exec+0x9c) [0x55c8ef291d8c] -> imap(+0x23c92) [0x55c8ef28fc92] -> imap(+0x23d34) [0x55c8ef28fd34] -> imap(+0x23fbb) [0x55c8ef28ffbb] -> imap(client_handle_input+0x1c5) [0x55c8ef290195] -> imap(client_input+0x73) [0x55c8ef290743] -> libdovecot.so.0(io_loop_call_io+0x69) [0x7f554c75f319] -> libdovecot.so.0(io_loop_handler_run_internal+0x132) [0x7f554c760a02] -> libdovecot.so.0(io_loop_handler_run+0x50) [0x7f554c75f3c0] -> libdovecot.so.0(io_loop_run+0x40) [0x7f554c75f5a0] -> libdovecot.so.0(master_service_run+0xe8) [0x7f554c6afd18] -> imap(main+0x3fe) [0x55c8ef2809ee]
 
The same here on Ubuntu 24.04.4 LTS.

dovecot: service=imap, user=support@xxxxxx, ip=[xxxxxxxx]. Panic: file imap-sieve-storage.c: line 216 (imap_sieve_add_mailbox_event): assertion failed: (ismt->src_box == NULL || ismt->src_box == src_box)

dovecot: service=imap, user=support@xxxxx, ip=[xxxx]. Error: Raw backtrace: libdovecot.so.0(backtrace_append+0x45) [0x7b8db172c0b5] -> libdovecot.so.0(backtrace_get+0x2f) [0x7b8db172c1ff] -> libdovecot.so.0(+0x137d84) [0x7b8db1737d84] -> libdovecot.so.0(+0x137e25) [0x7b8db1737e25] -> libdovecot.so.0(+0x56cc8) [0x7b8db1656cc8] -> lib95_imap_sieve_plugin.so(+0x50b2) [0x7b8db19be0b2] -> lib95_imap_sieve_plugin.so(+0x6a01) [0x7b8db19bfa01] -> libdovecot-storage.so.0(index_mail_free+0x1a) [0x7b8db1b6e29a] -> lib95_imap_sieve_plugin.so(+0x6abe) [0x7b8db19bfabe] -> libdovecot-storage.so.0(mail_free+0x26) [0x7b8db1ae8706] -> libdovecot-storage.so.0(+0xf029b) [0x7b8db1b8a29b] -> libdovecot-storage.so.0(mail_index_transaction_commit_full+0x89) [0x7b8db1b9e939] -> libdovecot-storage.so.0(index_transaction_commit+0xf0) [0x7b8db1b86190] -> libdovecot-storage.so.0(+0xc25bb) [0x7b8db1b5c5bb] -> lib95_imap_sieve_plugin.so(+0x8c59) [0x7b8db19c1c59] -> lib10_quota_plugin.so(+0xef3d) [0x7b8db19d5f3d] -> libdovecot-storage.so.0(mailbox_transaction_commit_get_changes+0x82) [0x7b8db1af5162] -> imap(+0x1af6a) [0x5b4cbc21df6a] -> imap(command_exec+0xae) [0x5b4cbc228b5e] -> imap(+0x2c5e5) [0x5b4cbc22f5e5] -> imap(+0x2c69a) [0x5b4cbc22f69a] -> imap(+0x2c90c) [0x5b4cbc22f90c] -> imap(client_handle_input+0x1d5) [0x5b4cbc22faf5] -> imap(client_input+0x78) [0x5b4cbc22ff08] -> libdovecot.so.0(io_loop_call_io+0x74) [0x7b8db1753e44] -> libdovecot.so.0(io_loop_handler_run_internal+0x13a) [0x7b8db1755d9a] -> libdovecot.so.0(io_loop_handler_run+0x57) [0x7b8db1755e57] -> libdovecot.so.0(io_loop_run+0x48) [0x7b8db1756048] -> libdovecot.so.0(master_service_run+0xfd) [0x7b8db169e32d] -> imap(main+0x3fe) [0x5b4cbc219f4e]
 
The downgrade to dovecot v2.4.1 helped:

ls /var/cache/apt/archives/ | grep dovecot
plesk-dovecot-core_2.4.1-4-v.ubuntu.24.04+p18.0.75.0+t251202.0702_amd64.deb
plesk-dovecot-core_2.4.2-v.ubuntu.24.04+p18.0.76.1+t260218.0637_amd64.deb
plesk-dovecot-imap-driver_18.0-v.ubuntu.24.04+p18.0.75.0+t251219.1246_amd64.deb
plesk-dovecot-imap-driver_18.0-v.ubuntu.24.04+p18.0.76.1+t260218.0637_amd64.deb
plesk-dovecot-pigeonhole_2.4.1-4-v.ubuntu.24.04+p18.0.75.0+t251202.0702_amd64.deb
plesk-dovecot-pigeonhole_2.4.2-v.ubuntu.24.04+p18.0.76.1+t260218.0637_amd64.deb
plesk-dovecot_2.4.1-4-v.ubuntu.24.04+p18.0.75.0+t251202.0702_amd64.deb
plesk-dovecot_2.4.2-v.ubuntu.24.04+p18.0.76.1+t260218.0637_amd64.deb


~# cd /var/cache/apt/archives/

sudo dpkg -i \
plesk-dovecot_2.4.1-4-v.ubuntu.24.04+p18.0.75.0+t251202.0702_amd64.deb \
plesk-dovecot-core_2.4.1-4-v.ubuntu.24.04+p18.0.75.0+t251202.0702_amd64.deb \
plesk-dovecot-pigeonhole_2.4.1-4-v.ubuntu.24.04+p18.0.75.0+t251202.0702_amd64.deb \
plesk-dovecot-imap-driver_18.0-v.ubuntu.24.04+p18.0.75.0+t251219.1246_amd64.deb
 
Thank you all for the reports. The case is currently under investigation by our engineers. I will follow-up with more details as soon as possible.
 
I've been trying to research this and it looks like it's just a bug in Dovecot's imapsieve plugin (Plesk updated dovecot-pigeonhole to version 2.4.2) . I've attached what Google Gemini says about the issue (I'm not sure if their fix they recommend actually works as I haven't been able to trigger this on my testing VMs). I can see people taking about it in the mailing lists:


For Warden extension users I recommend that they temporarily disable the real-time learning which uses the imapsieve plugin (just like Plesk Email Security extension) until Plesk can fix this.

Code:
// disable the real-time sieve learning
warden --task=antispam:learning:sieve --use_sieve_learning=0 --reload=yes
 

Attachments

  • 2026-02-20_04h38_59.png
    2026-02-20_04h38_59.png
    217.6 KB · Views: 6
Also when I look up the fix that Google Gemini suggested it says just to set mail_attachment_detection_options = to empty in the dovecot config. So this might be a temp fix for it (untested):

Code:
echo 'mail_attachment_detection_options =' > /etc/dovecot/conf.d/999_fix_crash.conf
systemctl restart dovecot

When I look at the dovecot documentation it says that mail_attachment_detection_options was reverted to be empty for Maildir by default in 2.4.3 like the fix recommends.
 

Attachments

  • 2026-02-20_05h23_39.png
    2026-02-20_05h23_39.png
    207 KB · Views: 6
On the one server we did not already downgrade to dovecot v2.4.1, I've set "mail_attachment_detection_options =" option for now

In the last ~30 minutes since that change, we've not had any singe crash of the dovecot imapsieve process.
Sure, no guarantee yet, but it really looks like this might do the trick
 
Back
Top