On 09/01/2024 19:00, Markus Doits via dovecot wrote:
Am 03.01.24 um 10:14 schrieb Aki Tuomi:
namespace { prefix = _/ separator = / location = virtual:~/Maildir/virtual:LAYOUT=maildir++:INDEX=~/Maildir/virtual }
You should not store virtual folders inside Maildir (assuming this is your mail location). Please use ~/virtual/ instead. The INDEX directive is not needed in this case as it points to same place anyways.
Thanks for your suggestion! I changed it and moved the virtual folders out of the Maildir manually:
location = virtual:~/virtual:LAYOUT=maildir++
Unfortunately the same panic ist still there.
I just noticed there is another panic with the same assertion and backtrace but a different file:
Panic: file index-search-result.c: line 174 (index_search_result_update_appends): assertion failed: (result->search_args->args == &search_arg)
By the way there is nothing that seems to be broken (fts searching seems to work like it should), but the logs are filled with this panics and backtraces. 🤷♂️
Some more info: The panics happen after logging in (tested with Thunderbird, Roundcube, K-9 Mail on Android). I cannot trigger the panic when doing a fts search after login (e.g. on Thunderbird or K-9 which holds the connection after login).
Hi Markus
my guess is that it has nothing to do with fts or flatcurve, but when index_search_result_update_flags is invoked from the virtual plugin.
From the comment in index_search_result_update_flags a search parameter is added in order to search for only changed messages. That parameter is added at the front of a linked list of search parameters and after a call to search_result_update_search, it is still expected to be there at the front of the list, but isn't. Presumably either another search parameter was added on the front of the linked list or the existing one was removed.
My suggestion would be to try and capture some debug logging if it is possible. If this is an error that other people haven't found, I am wondering if it's linked to soemthing specific in your dovecot-virtual file(s).
John