Bug 238773

Summary: akonadi-server can not create sqlite DB, "INSERT INTO ResourceTable (name,isVirtual) VALUES ('akonadi_search_resource',true)" does not work
Product: [Frameworks and Libraries] Akonadi Reporter: Nikoli <nikoli>
Component: serverAssignee: Volker Krause <vkrause>
Status: RESOLVED FIXED    
Severity: crash CC: 4plague, cruzki123, kdepim-bugs
Priority: NOR    
Version: 1.3.50   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In: 1.4.0
Sentry Crash Report:

Description Nikoli 2010-05-25 11:14:51 UTC
Version:           1.3.50 (using KDE 4.4.3) 
OS:                Linux

Current akonadi-server can not create akonadi.db properly when using sqlite backend, for me helped this suggestion http://forums.gentoo.org/viewtopic-t-815342-start-0.html
sqlite backend works fine after doing:
$ cd ~/.local/share/akonadi
$ sqlite3 akonadi.db
sqlite> INSERT INTO ResourceTable (name,isVirtual) VALUES ('akonadi_search_resource',1);
sqlite> .exit 

sqlite3 does not like ('akonadi_search_resource',true), but ('akonadi_search_resource',1) works.

My versions:
dev-db/sqlite-3.6.22-r2
x11-libs/qt-sql-4.6.2
app-office/akonadi-server-1.3.1
kde-base/akonadi-4.4.3

Reproducible: Always

Steps to Reproduce:
Build qt-sql and akonadi-server with sqlite backend only, create new user with empty home dir, start kmail from KDE 4.4.3.



$ akonadictl start
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
Starting Akonadi Server...
   done.
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
[akonadiserver] QSqlDatabasePrivate::removeDatabase: connection 'initConnection' is still in use, all queries will cease to work.
[akonadiserver] Database "/home/nikoli/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE"
[akonadiserver] DbInitializer::run()
[akonadiserver] checking table  "SchemaVersionTable"
[akonadiserver] "CREATE TABLE SchemaVersionTable (version INTEGER NOT NULL);"
[akonadiserver] checking table  "ResourceTable"
[akonadiserver] "CREATE TABLE ResourceTable (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name VARCHAR(255) COLLATE BINARY NOT NULL UNIQUE, isVirtual BOOL DEFAULT false);"
[akonadiserver] "Unable to add initial data to table 'ResourceTable'.
[akonadiserver] Query error: 'no such column: true Unable to execute statement'
[akonadiserver] Query was: INSERT INTO ResourceTable (name,isVirtual) VALUES ('akonadi_search_resource',true)"
[akonadiserver] Unable to initialize database.
[akonadiserver] "[
[akonadiserver] 0: akonadiserver(_Z11akBacktracev+0x39) [0x40bb09]
[akonadiserver] 1: akonadiserver [0x40c04a]
[akonadiserver] 2: /lib/libc.so.6 [0x7f9c7a31a3a0]
[akonadiserver] 3: /lib/libc.so.6(gsignal+0x35) [0x7f9c7a31a315]
[akonadiserver] 4: /lib/libc.so.6(abort+0x181) [0x7f9c7a31b811]
[akonadiserver] 5: /usr/lib64/qt4/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x85) [0x7f9c7c1ffb75]
[akonadiserver] 6: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0xab) [0x40cecb]
[akonadiserver] 7: /usr/lib64/qt4/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0x80) [0x7f9c7c28ed50]
[akonadiserver] 8: /usr/lib64/qt4/libQtCore.so.4 [0x7f9c7c29eb9a]
[akonadiserver] 9: /usr/lib64/qt4/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x39) [0x7f9c7c2a0999]
[akonadiserver] 10: akonadiserver(_ZN6QDebugD1Ev+0x4a) [0x40749a]
[akonadiserver] 11: /usr/lib64/libakonadiprivate.so.1(_ZN7Akonadi13AkonadiServerC1EP7QObject+0x5fa) [0x7f9c7c675c1a]
[akonadiserver] 12: /usr/lib64/libakonadiprivate.so.1(_ZN7Akonadi13AkonadiServer8instanceEv+0x47) [0x7f9c7c6769d7]
[akonadiserver] 13: akonadiserver(main+0x2df) [0x406b2f]
[akonadiserver] 14: /lib/libc.so.6(__libc_start_main+0xe6) [0x7f9c7a306a26]
[akonadiserver] 15: akonadiserver(_ZNSt8ios_base4InitD1Ev+0x39) [0x406759]
[akonadiserver] ]
[akonadiserver] "
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
[akonadiserver] QSqlDatabasePrivate::removeDatabase: connection 'initConnection' is still in use, all queries will cease to work.
[akonadiserver] Database "/home/nikoli/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE"
[akonadiserver] DbInitializer::run()
[akonadiserver] checking table  "SchemaVersionTable"
[akonadiserver] checking table  "ResourceTable"
[akonadiserver] "Unable to add initial data to table 'ResourceTable'.
[akonadiserver] Query error: 'no such column: true Unable to execute statement'
[akonadiserver] Query was: INSERT INTO ResourceTable (name,isVirtual) VALUES ('akonadi_search_resource',true)"
[akonadiserver] Unable to initialize database.
[akonadiserver] "[
[akonadiserver] 0: akonadiserver(_Z11akBacktracev+0x39) [0x40bb09]
[akonadiserver] 1: akonadiserver [0x40c04a]
[akonadiserver] 2: /lib/libc.so.6 [0x7f0ce70123a0]
[akonadiserver] 3: /lib/libc.so.6(gsignal+0x35) [0x7f0ce7012315]
[akonadiserver] 4: /lib/libc.so.6(abort+0x181) [0x7f0ce7013811]
[akonadiserver] 5: /usr/lib64/qt4/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x85) [0x7f0ce8ef7b75]
[akonadiserver] 6: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0xab) [0x40cecb]
[akonadiserver] 7: /usr/lib64/qt4/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0x80) [0x7f0ce8f86d50]
[akonadiserver] 8: /usr/lib64/qt4/libQtCore.so.4 [0x7f0ce8f96b9a]
[akonadiserver] 9: /usr/lib64/qt4/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x39) [0x7f0ce8f98999]
[akonadiserver] 10: akonadiserver(_ZN6QDebugD1Ev+0x4a) [0x40749a]
[akonadiserver] 11: /usr/lib64/libakonadiprivate.so.1(_ZN7Akonadi13AkonadiServerC1EP7QObject+0x5fa) [0x7f0ce936dc1a]
[akonadiserver] 12: /usr/lib64/libakonadiprivate.so.1(_ZN7Akonadi13AkonadiServer8instanceEv+0x47) [0x7f0ce936e9d7]
[akonadiserver] 13: akonadiserver(main+0x2df) [0x406b2f]
[akonadiserver] 14: /lib/libc.so.6(__libc_start_main+0xe6) [0x7f0ce6ffea26]
[akonadiserver] 15: akonadiserver(_ZNSt8ios_base4InitD1Ev+0x39) [0x406759]
[akonadiserver] ]
[akonadiserver] "
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
[akonadiserver] QSqlDatabasePrivate::removeDatabase: connection 'initConnection' is still in use, all queries will cease to work.
[akonadiserver] Database "/home/nikoli/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE"
[akonadiserver] DbInitializer::run()
[akonadiserver] checking table  "SchemaVersionTable"
[akonadiserver] checking table  "ResourceTable"
[akonadiserver] "Unable to add initial data to table 'ResourceTable'.
[akonadiserver] Query error: 'no such column: true Unable to execute statement'
[akonadiserver] Query was: INSERT INTO ResourceTable (name,isVirtual) VALUES ('akonadi_search_resource',true)"
[akonadiserver] Unable to initialize database.
[akonadiserver] "[
[akonadiserver] 0: akonadiserver(_Z11akBacktracev+0x39) [0x40bb09]
[akonadiserver] 1: akonadiserver [0x40c04a]
[akonadiserver] 2: /lib/libc.so.6 [0x7f945d1553a0]
[akonadiserver] 3: /lib/libc.so.6(gsignal+0x35) [0x7f945d155315]
[akonadiserver] 4: /lib/libc.so.6(abort+0x181) [0x7f945d156811]
[akonadiserver] 5: /usr/lib64/qt4/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x85) [0x7f945f03ab75]
[akonadiserver] 6: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0xab) [0x40cecb]
[akonadiserver] 7: /usr/lib64/qt4/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0x80) [0x7f945f0c9d50]
[akonadiserver] 8: /usr/lib64/qt4/libQtCore.so.4 [0x7f945f0d9b9a]
[akonadiserver] 9: /usr/lib64/qt4/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x39) [0x7f945f0db999]
[akonadiserver] 10: akonadiserver(_ZN6QDebugD1Ev+0x4a) [0x40749a]
[akonadiserver] 11: /usr/lib64/libakonadiprivate.so.1(_ZN7Akonadi13AkonadiServerC1EP7QObject+0x5fa) [0x7f945f4b0c1a]
[akonadiserver] 12: /usr/lib64/libakonadiprivate.so.1(_ZN7Akonadi13AkonadiServer8instanceEv+0x47) [0x7f945f4b19d7]
[akonadiserver] 13: akonadiserver(main+0x2df) [0x406b2f]
[akonadiserver] 14: /lib/libc.so.6(__libc_start_main+0xe6) [0x7f945d141a26]
[akonadiserver] 15: akonadiserver(_ZNSt8ios_base4InitD1Ev+0x39) [0x406759]
[akonadiserver] ]
[akonadiserver] "
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
[akonadiserver] QSqlDatabasePrivate::removeDatabase: connection 'initConnection' is still in use, all queries will cease to work.
[akonadiserver] Database "/home/nikoli/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE"
[akonadiserver] DbInitializer::run()
[akonadiserver] checking table  "SchemaVersionTable"
[akonadiserver] checking table  "ResourceTable"
[akonadiserver] "Unable to add initial data to table 'ResourceTable'.
[akonadiserver] Query error: 'no such column: true Unable to execute statement'
[akonadiserver] Query was: INSERT INTO ResourceTable (name,isVirtual) VALUES ('akonadi_search_resource',true)"
[akonadiserver] Unable to initialize database.
[akonadiserver] "[
[akonadiserver] 0: akonadiserver(_Z11akBacktracev+0x39) [0x40bb09]
[akonadiserver] 1: akonadiserver [0x40c04a]
[akonadiserver] 2: /lib/libc.so.6 [0x7f73002973a0]
[akonadiserver] 3: /lib/libc.so.6(gsignal+0x35) [0x7f7300297315]
[akonadiserver] 4: /lib/libc.so.6(abort+0x181) [0x7f7300298811]
[akonadiserver] 5: /usr/lib64/qt4/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x85) [0x7f730217cb75]
[akonadiserver] 6: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0xab) [0x40cecb]
[akonadiserver] 7: /usr/lib64/qt4/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0x80) [0x7f730220bd50]
[akonadiserver] 8: /usr/lib64/qt4/libQtCore.so.4 [0x7f730221bb9a]
[akonadiserver] 9: /usr/lib64/qt4/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x39) [0x7f730221d999]
[akonadiserver] 10: akonadiserver(_ZN6QDebugD1Ev+0x4a) [0x40749a]
[akonadiserver] 11: /usr/lib64/libakonadiprivate.so.1(_ZN7Akonadi13AkonadiServerC1EP7QObject+0x5fa) [0x7f73025f2c1a]
[akonadiserver] 12: /usr/lib64/libakonadiprivate.so.1(_ZN7Akonadi13AkonadiServer8instanceEv+0x47) [0x7f73025f39d7]
[akonadiserver] 13: akonadiserver(main+0x2df) [0x406b2f]
[akonadiserver] 14: /lib/libc.so.6(__libc_start_main+0xe6) [0x7f7300283a26]
[akonadiserver] 15: akonadiserver(_ZNSt8ios_base4InitD1Ev+0x39) [0x406759]
[akonadiserver] ]
[akonadiserver] "
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
"akonadiserver" crashed too often and will not be restarted!
Comment 1 Tobias Koenig 2010-06-20 13:50:30 UTC
Hej,

the sqlite backend is officially not supported and only for testing purpose!!!
There is a special version for the Akonadi mobile edition, however that needs an up-to-date sqlite version and an adapted QtSQL driver...

Ciao,
Tobias
Comment 2 Jaromir Smrcek 2010-07-12 23:21:38 UTC
First of all: Thanks Nikoli!
Second of all: this is fscking ridiculous, MySQL for a mail client??
Comment 3 Nikoli 2010-09-13 18:12:35 UTC
kmail with KDE 4.4.5 and akonadi-server 1.3.1 has this bug, but after upgrading akonadi-server to version 1.4.0 kmail works fine for new users.

https://bugs.gentoo.org/show_bug.cgi?id=306539#c10

I think it is fixed in r1107033