akonadi won't start when lower_case_table_names is set to 1 in /etc/my.cnf, using mysql as database storage driver (see below akonadi self test report and my.cnf content) Reproducible: Always Steps to Reproduce: 1. make sure lower_case_table_names is set to 0 in /etc/my.cnf (or missing) 2. set database driver as mysql in Akonadi Configuration 3. do not check "use internal mysql server" 4. configure connection settings 5. start akonadi => akonadi is started OK 6. stop akonadi 7. set lower_case_table_names to 1 in /etc/my.cnf 8. restart mysqld 9. start akonadi => akonadi won't start Actual Results: akonadi does not start Expected Results: akonadi should start normaly Content of akonadi self test: Akonadi Server Self-Test Report =============================== Test 1: SUCCESS -------- Database driver found. Details: The QtSQL driver 'QMYSQL' is required by your current Akonadi server configuration and was found on your system. File content of '/home/li/.config/akonadi/akonadiserverrc': [%General] Driver=QMYSQL [QSQLITE3] Name=/home/li/.local/share/akonadi/akonadi.db [Debug] Tracer=null [QMYSQL] StartServer=false ServerPath=/usr/libexec/mysqld Name=akonadi Host=localhost User=myuser Password=mypass Options= [QPSQL] StartServer=true Name=akonadi Host= User= Password= Port=5432 [SQLITE] Name=akonadi Test 2: SUCCESS -------- Akonadi is not running as root Details: Akonadi is not running as a root/administrator user, which is the recommended setup for a secure system. Test 3: SKIP -------- MySQL server executable not tested. Details: The current configuration does not require an internal MySQL server. Test 4: SKIP -------- MySQL server error log not tested. Details: The current configuration does not require an internal MySQL server. Test 5: SKIP -------- MySQL server configuration not tested. Details: The current configuration does not require an internal MySQL server. Test 6: SUCCESS -------- akonadictl found and usable Details: The program '/usr/bin/akonadictl' to control the Akonadi server was found and could be executed successfully. Result: Akonadi 1.12.1 Test 7: ERROR -------- Akonadi control process not registered at D-Bus. Details: The Akonadi control process is not registered at D-Bus which typically means it was not started or encountered a fatal error during startup. Test 8: ERROR -------- Akonadi server process not registered at D-Bus. Details: The Akonadi server process is not registered at D-Bus which typically means it was not started or encountered a fatal error during startup. Test 9: ERROR -------- Nepomuk search service not registered at D-Bus. Details: The Nepomuk search service is not registered at D-Bus which typically means it was not started or encountered a fatal error during startup. Test 10: SKIP -------- Protocol version check not possible. Details: Without a connection to the server it is not possible to check if the protocol version meets the requirements. Test 11: SUCCESS -------- Resource agents found. Details: At least one resource agent has been found. Directory listing of '/usr/share/akonadi/agents': akonadinepomukfeederagent.desktop akonotesresource.desktop archivemailagent.desktop birthdaysresource.desktop contactsresource.desktop davgroupwareresource.desktop facebookresource.desktop folderarchiveagent.desktop googlecalendarresource.desktop googlecontactsresource.desktop icaldirresource.desktop icalresource.desktop imapresource.desktop invitationsagent.desktop kabcresource.desktop kalarmdirresource.desktop kalarmresource.desktop kcalresource.desktop kdeaccountsresource.desktop kolabproxyresource.desktop localbookmarksresource.desktop maildirresource.desktop maildispatcheragent.desktop mailfilteragent.desktop mboxresource.desktop microblog.desktop migrationagent.desktop mixedmaildirresource.desktop mtdummyresource.desktop nepomuktagresource.desktop newmailnotifieragent.desktop nntpresource.desktop notesresource.desktop openxchangeresource.desktop pop3resource.desktop sendlateragent.desktop vcarddirresource.desktop vcardresource.desktop Environment variable XDG_DATA_DIRS is set to '/usr/share/kde-settings/kde-profile/default/share:/usr/local/share:/usr/share' Test 12: ERROR -------- Current Akonadi server error log found. Details: The Akonadi server reported errors during its current startup. The log can be found in <a href='/home/li/.local/share/akonadi/akonadiserver.error'>/home/li/.local/share/akonadi/akonadiserver.error</a>. File content of '/home/li/.local/share/akonadi/akonadiserver.error': " Sql error: Can't write; duplicate key in table 'collectiontable' QMYSQL: Unable to execute query Query: CREATE TABLE CollectionTable (id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, remoteId VARBINARY(255), remoteRevision VARBINARY(255), name VARBINARY(255) NOT NULL, parentId BIGINT, resourceId BIGINT NOT NULL, subscribed BOOL NOT NULL DEFAULT true, cachePolicyInherit BOOL NOT NULL DEFAULT true, cachePolicyCheckInterval INTEGER NOT NULL DEFAULT -1, cachePolicyCacheTimeout INTEGER NOT NULL DEFAULT -1, cachePolicySyncOnDemand BOOL NOT NULL DEFAULT false, cachePolicyLocalParts VARBINARY(255), queryString VARBINARY(32768), queryAttributes VARBINARY(255), queryCollections VARBINARY(255), isVirtual BOOL DEFAULT false, FOREIGN KEY (parentId) REFERENCES CollectionTable(id) ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN KEY (resourceId) REFERENCES ResourceTable(id) ON UPDATE CASCADE ON DELETE CASCADE) COLLATE=utf8_general_ci DEFAULT CHARSET=utf8" Unable to initialize database. "[ 0: akonadiserver(_Z11akBacktracev+0x4a) [0x465bea] 1: akonadiserver() [0x465e62] 2: /lib64/libc.so.6() [0x320c835cb0] 3: /lib64/libc.so.6(gsignal+0x39) [0x320c835c39] 4: /lib64/libc.so.6(abort+0x148) [0x320c837348] 5: /lib64/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x84) [0x3636c71d04] 6: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0xad) [0x467cad] 7: /lib64/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0xb0) [0x3636d10fb0] 8: /lib64/libQtCore.so.4() [0x3636d20c85] 9: /lib64/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x31) [0x3636d29e51] 10: akonadiserver(_ZN7Akonadi6Server13AkonadiServer4initEv+0x5fb) [0x46b66b] 11: /lib64/libQtCore.so.4(_ZN7QObject5eventEP6QEvent+0x26e) [0x3636d9febe] 12: /lib64/libQtCore.so.4(_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0x8d) [0x3636d86ebd] 13: /lib64/libQtCore.so.4(_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData+0x205) [0x3636d8a0d5] 14: /lib64/libQtCore.so.4() [0x3636db62de] 15: /lib64/libglib-2.0.so.0(g_main_context_dispatch+0x166) [0x320e4492a6] 16: /lib64/libglib-2.0.so.0() [0x320e449628] 17: /lib64/libglib-2.0.so.0(g_main_context_iteration+0x2c) [0x320e4496dc] 18: /lib64/libQtCore.so.4(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x7e) [0x3636db5a5e] 19: /lib64/libQtCore.so.4(_ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE+0x3f) [0x3636d8595f] 20: /lib64/libQtCore.so.4(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x19d) [0x3636d85cad] 21: /lib64/libQtCore.so.4(_ZN16QCoreApplication4execEv+0x99) [0x3636d8b399] 22: akonadiserver(main+0x263) [0x460063] 23: /lib64/libc.so.6(__libc_start_main+0xf5) [0x320c821d65] 24: akonadiserver() [0x4609d9] ] " Test 13: ERROR -------- Previous Akonadi server error log found. Details: The Akonadi server reported errors during its previous startup. The log can be found in <a href='/home/li/.local/share/akonadi/akonadiserver.error.old'>/home/li/.local/share/akonadi/akonadiserver.error.old</a>. File content of '/home/li/.local/share/akonadi/akonadiserver.error.old': " Sql error: Can't write; duplicate key in table 'collectiontable' QMYSQL: Unable to execute query Query: CREATE TABLE CollectionTable (id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, remoteId VARBINARY(255), remoteRevision VARBINARY(255), name VARBINARY(255) NOT NULL, parentId BIGINT, resourceId BIGINT NOT NULL, subscribed BOOL NOT NULL DEFAULT true, cachePolicyInherit BOOL NOT NULL DEFAULT true, cachePolicyCheckInterval INTEGER NOT NULL DEFAULT -1, cachePolicyCacheTimeout INTEGER NOT NULL DEFAULT -1, cachePolicySyncOnDemand BOOL NOT NULL DEFAULT false, cachePolicyLocalParts VARBINARY(255), queryString VARBINARY(32768), queryAttributes VARBINARY(255), queryCollections VARBINARY(255), isVirtual BOOL DEFAULT false, FOREIGN KEY (parentId) REFERENCES CollectionTable(id) ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN KEY (resourceId) REFERENCES ResourceTable(id) ON UPDATE CASCADE ON DELETE CASCADE) COLLATE=utf8_general_ci DEFAULT CHARSET=utf8" Unable to initialize database. "[ 0: akonadiserver(_Z11akBacktracev+0x4a) [0x465bea] 1: akonadiserver() [0x465e62] 2: /lib64/libc.so.6() [0x320c835cb0] 3: /lib64/libc.so.6(gsignal+0x39) [0x320c835c39] 4: /lib64/libc.so.6(abort+0x148) [0x320c837348] 5: /lib64/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x84) [0x3636c71d04] 6: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0xad) [0x467cad] 7: /lib64/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0xb0) [0x3636d10fb0] 8: /lib64/libQtCore.so.4() [0x3636d20c85] 9: /lib64/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x31) [0x3636d29e51] 10: akonadiserver(_ZN7Akonadi6Server13AkonadiServer4initEv+0x5fb) [0x46b66b] 11: /lib64/libQtCore.so.4(_ZN7QObject5eventEP6QEvent+0x26e) [0x3636d9febe] 12: /lib64/libQtCore.so.4(_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0x8d) [0x3636d86ebd] 13: /lib64/libQtCore.so.4(_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData+0x205) [0x3636d8a0d5] 14: /lib64/libQtCore.so.4() [0x3636db62de] 15: /lib64/libglib-2.0.so.0(g_main_context_dispatch+0x166) [0x320e4492a6] 16: /lib64/libglib-2.0.so.0() [0x320e449628] 17: /lib64/libglib-2.0.so.0(g_main_context_iteration+0x2c) [0x320e4496dc] 18: /lib64/libQtCore.so.4(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x7e) [0x3636db5a5e] 19: /lib64/libQtCore.so.4(_ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE+0x3f) [0x3636d8595f] 20: /lib64/libQtCore.so.4(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x19d) [0x3636d85cad] 21: /lib64/libQtCore.so.4(_ZN16QCoreApplication4execEv+0x99) [0x3636d8b399] 22: akonadiserver(main+0x263) [0x460063] 23: /lib64/libc.so.6(__libc_start_main+0xf5) [0x320c821d65] 24: akonadiserver() [0x4609d9] ] " Test 14: SUCCESS -------- No current Akonadi control error log found. Details: The Akonadi control process did not report any errors during its current startup. Test 15: ERROR -------- Previous Akonadi control error log found. Details: The Akonadi control process reported errors during its previous startup. The log can be found in <a href='/home/li/.local/share/akonadi/akonadi_control.error.old'>/home/li/.local/share/akonadi/akonadi_control.error.old</a>. File content of '/home/li/.local/share/akonadi/akonadi_control.error.old': ProcessControl: Application /usr/bin/akonadi_imap_resource stopped unexpectedly ( "Process crashed" ) =================== content of /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock max_allowed_packet=16M lower_case_table_names=1 symbolic-links=0 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid max_allowed_packet=16M
This bug has only been reported for versions older than KDEPIM 4.14 (at most akonadi-1.3). Can anyone tell if this bug still present? If noone confirms this bug for a recent version of akonadi (part of KDE Applications 15.08 or later), it gets closed in about three months.
Just as announced in my last comment, I close this bug. If you encounter it again in a recent version (at least 5.0 aka 15.08), please open a new one unless it already exists. Thank you for all your input.