The timeout isn't removed on failure, so it crashed with:
Panic: file quota-clone-plugin.c: line 257 (quota_clone_mail_user_deinit_pre): assertion failed: (quser->to_quota_flush == NULL)
i_assert(!quser->quota_flushing);
quota_clone_flush(user);
dict_wait(quser->dict);
- i_assert(quser->to_quota_flush == NULL);
+ /* If dict update fails or background calculation is running,
+ the timeout is still set. Just forget about it. */
+ timeout_remove(&quser->to_quota_flush);
}
quser->module_ctx.super.deinit_pre(user);
}