Este problema está diretamente relacionado ao bug #283682 do Akonadi, que tem sido um problema para o KMail desde outubro de 2011. Há um problema de sincronização/coordenação com o processamento assíncrono de filtros de mensagens. De vez em quando, uma regra de filtro que move mensagens para uma pasta diferente "apresenta um problema" e gera mais de uma entrada no banco de dados para uma mensagem que foi movida. Quando você tenta abrir a segunda cópia dessa mensagem, a mensagem de erro "Não foi possível buscar o item do backend ...[LRCONFLICT]" aparece. Essas mensagens fantasmas não podem ser excluídas ou movidas para a lixeira usando as funções integradas do KMail. Mas você pode se livrar delas. Veja como.
Primeiro, saia do programa KMail. Isso pode não ser necessário, mas é melhor prevenir do que remediar.
Você pode descobrir quantas mensagens corrompidas estão presentes usando
akonadictl.~ $ akonadictl fsck 2 >&1 | grep ^Found Found 6 external files. Found 6 external parts. Found no unreferenced external files. Found 0 parts to be moved to external files Found 0 parts to be moved to database Found 6 collections without RID. Found 9 items without RID. Found 0 dirty items.
Neste caso, existem nove mensagens duplicadas (sem RID).
Você precisa saber como se conectar diretamente ao servidor MySQL. Use os comandos
psegreppara fazer isso.~ $ ps ux | grep mysql david 8788 0.2 0.9 3736292 153936 ? Sl 06:45 0:16 /usr/sbin/mysqld --defaults-file=/home/david/.local/share/akonadi/mysql.conf --datadir=/home/david/.local/share/akonadi/db_data/ --socket=/run/user/1000/akonadi/mysql.socket --pid-file=/run/user/1000/akonadi/mysql.pid david 24275 0.0 0.0 8056 2144 pts/1 S+ 08:24 0:00 grep --colour=auto mysql
Invoque o programa do servidor mysql usando as informações do socket da etapa 3 e emita três comandos mysql, conforme ilustrado abaixo.
~ $ mysql --socket=/run/user/1000/akonadi/mysql.socket <== Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 114 Server version: 10.5.10-MariaDB Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> use akonadi; <== Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariaDB [akonadi]> delete from pimitemtable where remoteid is NULL; <== Query OK, 9 rows affected (0.003 sec) MariaDB [akonadi]> \q <== Bye
Os três comandos mysql são "use akonadi;", "delete from pimitemtable where remoteid is NULL;" e "\q". Depois de digitar "mysql --socket= ...", você entrará em um diálogo com o servidor mysql (também conhecido como "MariaDB"), que fornecerá um prompt >. O diálogo completo é apresentado aqui, para clareza. As linhas de entrada do usuário são marcadas com <== na ilustração anterior.
Ao reiniciar o KMail, aquelas mensagens duplicadas irritantes desaparecerão. Elas eram apenas fantasmas causados pelos ponteiros NULL nas tabelas do banco de dados MySQL.