kdepim 4.8.1: Problems with Akonadi or Kmail2

After having upgraded to KDE SC 4.8.1 from the resources given in SDB:KDE upgrade - openSUSE I had data loss as described by https://bugs.kde.org/show_bug.cgi?id=295484 and a crash of Kmail2.

Having restarted the KDE PIM suite, I have now the phenomenon that I can no longer access the body of any mail I try to access. The messages in .xsession-error give me many entries like these:

Known subscriber "kmail2" subscribes again 
Error during executing query "UPDATE PimItemTable SET atime = :0 WHERE ( collectionId = :1 )" :  "Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED. QMYSQL3: Unable to execute statement" 
Unable to update item access time 
Database "akonadi" opened using driver "QMYSQL" 

I now solved the problem for me. My strategy was to recreate the Akonadi database. For that purpose I deleted “~/.local/share/akonadi” and tried to recreate it by using “akonadictl start”. There still was a problem regarding the setting for locking database objects:

Database "akonadi" opened using driver "QMYSQL" 
DbInitializer::run() 
checking table  "SchemaVersionTable" 
"INSERT INTO SchemaVersionTable (version) VALUES (20)" 
"Unable to add initial data to table 'SchemaVersionTable'.
Query error: 'Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED. QMYSQL: Unable to execute query'
Query was: INSERT INTO SchemaVersionTable (version) VALUES (20)"
Unable to initialize database.
"
0: akonadiserver(_Z11akBacktracev+0x35) [0x453ba5]
1: akonadiserver() [0x453e6c]
2: /lib64/libc.so.6(+0x34e10) [0x7f91cd1b2e10]
3: /lib64/libc.so.6(gsignal+0x35) [0x7f91cd1b2d95]
4: /lib64/libc.so.6(abort+0x17b) [0x7f91cd1b42ab]
5: /usr/lib64/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x74) [0x7f91cec79c84]
6: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0x92) [0x456142]
7: /usr/lib64/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0xaf) [0x7f91ced1482f]
8: /usr/lib64/libQtCore.so.4(+0x11de02) [0x7f91ced1fe02]
9: /usr/lib64/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x39) [0x7f91ced28c99]
10: akonadiserver() [0x45abd8]
11: akonadiserver(_ZN7Akonadi13AkonadiServer8instanceEv+0x35) [0x45bd45]
12: akonadiserver(main+0x1ea) [0x44c0da]
13: /lib64/libc.so.6(__libc_start_main+0xed) [0x7f91cd19f23d]
14: akonadiserver() [0x44c871]
]
"
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)

The next thing to try for me was to explicitly adding “binlog_format=mixed” to “~/.config/akonadi/mysql-local.conf” and starting Akonadi after that. Now Kmail2 is working as expected :wink:

Could you please report this at bugs.kde.org?

I wonder why you got that error but others don’t. From what KDE version did you update to 4.8.1 and did you change anything regarding akonadi or mysql before?

See Bug 295700 for the bug report. I updated from 4.8.0 and didn’t touch any configuration regarding Akonadi or mysql.

Thanks for submitting the bug report.