From 169dae70f48ead0982c52bd159f472f75f4613ed Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan.bosch@dovecot.fi>
Date: Thu, 1 Feb 2018 21:24:05 +0100
Subject: [PATCH] plugins: imapsieve: Deal with messages being expunged
 concurrently by the time Sieve filter is to be applied.

Before, this was an assertion that got triggered transiently during imaptest.
---
 src/plugins/imapsieve/imap-sieve-storage.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/plugins/imapsieve/imap-sieve-storage.c b/src/plugins/imapsieve/imap-sieve-storage.c
index d7791c1c3..1623fb6e3 100644
--- a/src/plugins/imapsieve/imap-sieve-storage.c
+++ b/src/plugins/imapsieve/imap-sieve-storage.c
@@ -747,7 +747,10 @@ imap_sieve_mailbox_transaction_run(
 			continue;
 		}
 
-		i_assert(!mail->expunged);
+		if (mail->expunged) {
+			/* already gone for some reason */
+			continue;
+		}
 
 		/* Run scripts for this mail */
 		ret = imap_sieve_run_mail
-- 
GitLab