Dit probleem is direct gerelateerd aan Akonadi bug #283682, die een nagel aan de doodskist van KMail is sinds oktober, 2011. Er is een probleem met timing / coördinatie tussen asynchroon verwerken van berichtfilters. Af en toe is er een filterregel die berichten naar een andere map verplaatst "hiccups (verslikt zich)" en produceert meer dan één database item voor een bericht dat verplaatst is. Wanneer u de tweede kopie van zo'n bericht opent, verschijnt de foutmelding "Item ophalen uit de backend ... [LRCONFLICT]". Zo'n spookbericht kan niet verwijderd of verplaatst worden naar de prullenbak met ingebouwde functies van KMail. Maar u kunt ze kwijtraken. Hier is hoe u dat doet.
Sluit het programma KMail af. Dis misschien niet nodig, maar beter veilig dan sorry.
U kunt te weten komen hoeveel corrupte berichten er aanwezig zijn door
akonadictlte gebruiken.~ $ 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.
In dit exemplaar zijn er negen gedupliceerde berichten (zonder RID).
U moet weten hoe direct een verbinding te maken met de mysql-server. Gebruik de commando's
psengrepom dat te doen.~ $ 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
Gebruik het serverprogramma mysql met de socketinformatie uit stap 3 en geeft drie mysql commando's, zoals onderstaand geïllustreerd.
~ $ 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
The drie mysql commando's zijn "use akonadi;", "delete from pimitemtable where remoteid is NULL;" en "\q". Nadat u "mysql --socket= ..." ingeeft zult u in een dialoog komen met de mysql-server (aka "MariaDB"), die een prompt > laat zien. De gehele dialoog is hier, voor de helderheid, gepresenteerd. Ingevoerde regels zijn gemarkeerd met <== in de voorgaande illustratie.
Wanneer u KMail herstart zijn deze pesterige gedupliceerde berichten verdwenen. Het waren eigenlijk fantomen veroorzaakt door de NULL pointers in de mysql database tabellen.