Bug 250981 - Akonadi starts with errors after switching db backend, makes kmail unusable
Summary: Akonadi starts with errors after switching db backend, makes kmail unusable
Status: RESOLVED NOT A BUG
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: server (show other bugs)
Version: 1.4.0
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-12 15:57 UTC by Ctibor Brančík
Modified: 2011-02-10 00:04 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ctibor Brančík 2010-09-12 15:57:54 UTC
Version:           1.4.0 (using Devel) 
OS:                Linux

I have installed KDEPIM beta3 and upgraded also akonadi-server package with following information from gentoo packagers:

"QSQLITE3 has been set as your default akonadi storage backend.
You can override it in your ~/.config/akonadi/akonadiserverrc.
Available drivers are: QMYSQL, QPSQL, QSQLITE3"

With beta2 I have fetched my mail from my POP3 account (around 1GB of data).

Since I had beta2 installed I checked ~/.config/akonadi/akonadiserverrc and saw that QMYSQL backend is set. So I changed it to QSQLITE3 manualy. It couldn't be changed via akonaditray, because sqlite backend isn't listed in the dropdown menu. There is only MYSQL and PGSQL (although I don't have pgsql USE flag enabled).

Now starting akonadi gives me dialog: Could not acces the outbox folder "(Unknown Error. (Unknown resource))."

Kmail starts and close with dialog: Kmail encountered a fatal error and will terminate now. The error was: Unknown resource.

log from akonadictl start:

akonadictl start
Starting Akonadi Server...
   done.
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
ctibor@thuban ~/.wine/drive_c/Program Files/StarCraft II $ [akonadiserver] QSqlDatabasePrivate::removeDatabase: connection 'initConnection' is still in use, all queries will cease to work.
[akonadiserver] Database "/home/ctibor/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE3"
[akonadiserver] DbInitializer::run()
[akonadiserver] checking table  "SchemaVersionTable"
[akonadiserver] checking table  "ResourceTable"
[akonadiserver] checking table  "CollectionTable"
[akonadiserver] checking table  "MimeTypeTable"
[akonadiserver] checking table  "PimItemTable"
[akonadiserver] checking table  "FlagTable"
[akonadiserver] checking table  "PartTable"
[akonadiserver] checking table  "CollectionAttributeTable"
[akonadiserver] checking relation  "PimItemFlagRelation"
[akonadiserver] checking relation  "CollectionMimeTypeRelation"
[akonadiserver] checking relation  "CollectionPimItemRelation"
[akonadiserver] DbInitializer::run() done
[akonadiserver] skipping update 2
[akonadiserver] skipping update 3
[akonadiserver] skipping update 4
[akonadiserver] skipping update 8
[akonadiserver] skipping update 10
[akonadiserver] skipping update 12
[akonadiserver] skipping update 13
[akonadiserver] skipping update 14
[akonadiserver] skipping update 15
[akonadiserver] skipping update 16
[akonadiserver] skipping update 17
[akonadiserver] skipping update 18
[akonadiserver] skipping update 19
[akonadiserver] Database "/home/ctibor/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE3"
[akonadiserver] Database "/home/ctibor/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE3"
[akonadiserver] Akonadi::NepomukSearchEngine(0x23a1e80) QObject(0x0)
[akonadiserver] DataStore::unhideAllPimItems()
PLUGINS:  "/usr/share/akonadi/agents" 
PLUGINS:  ("akonotesresource.desktop", "birthdaysresource.desktop", "calendarsearchagent.desktop", "contactsresource.desktop", "davgroupwareresource.desktop", "icalresource.desktop", "imapresource.desktop", "invitationsagent.desktop", "kabcresource.desktop", "kcalresource.desktop", "kdeaccountsresource.desktop", "knutresource.desktop", "kolabproxyresource.desktop", "localbookmarksresource.desktop", "maildirresource.desktop", "maildispatcheragent.desktop", "mboxresource.desktop", "microblog.desktop", "mixedmaildirresource.desktop", "mtdummyresource.desktop", "nepomukcalendarfeeder.desktop", "nepomukcontactfeeder.desktop", "nepomuktagresource.desktop", "nntpresource.desktop", "notesresource.desktop", "openxchangeresource.desktop", "pop3resource.desktop", "vcarddirresource.desktop", "vcardresource.desktop") 
search paths:  ("/usr/local/bin", "/usr/bin", "/bin", "/opt/bin", "/usr/x86_64-pc-linux-gnu/gcc-bin/4.4.3", "/usr/games/bin") 
PLUGINS inserting:  "akonadi_akonotes_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_birthdays_resource" 0 ("Resource", "Unique") 
PLUGINS inserting:  "akonadi_calendarsearch_agent" 0 ("Unique", "NoConfig") 
PLUGINS inserting:  "akonadi_contacts_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_davgroupware_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_ical_resource" 1 ("Resource") 
PLUGINS inserting:  "akonadi_imap_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_invitations_agent" 0 ("NoConfig") 
PLUGINS inserting:  "akonadi_kabc_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_kcal_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_kdeaccounts_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_knut_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_kolabproxy_resource" 0 ("Resource", "Unique", "NoConfig") 
PLUGINS inserting:  "akonadi_localbookmarks_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_maildir_resource" 1 ("Resource") 
PLUGINS inserting:  "akonadi_maildispatcher_agent" 0 ("Unique", "Autostart", "NoConfig") 
PLUGINS inserting:  "akonadi_mbox_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_microblog_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_mixedmaildir_resource" 1 ("Resource") 
PLUGINS inserting:  "akonadi_mailtransport_dummy_resource" 0 ("Resource", "MailTransport") 
PLUGINS inserting:  "akonadi_nepomuk_calendar_feeder" 0 ("Unique", "NoConfig") 
PLUGINS inserting:  "akonadi_nepomuk_contact_feeder" 0 ("Unique", "Autostart", "NoConfig") 
PLUGINS inserting:  "akonadi_nepomuktag_resource" 0 ("Resource", "Virtual", "Unique", "NoConfig") 
PLUGINS inserting:  "akonadi_nntp_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_notes_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_openxchange_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_pop3_resource" 1 ("Resource") 
PLUGINS inserting:  "akonadi_vcarddir_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_vcard_resource" 1 ("Resource") 
PLUGINS:  "/usr/share/akonadi/agents" 
PLUGINS:  ("akonotesresource.desktop", "birthdaysresource.desktop", "calendarsearchagent.desktop", "contactsresource.desktop", "davgroupwareresource.desktop", "icalresource.desktop", "imapresource.desktop", "invitationsagent.desktop", "kabcresource.desktop", "kcalresource.desktop", "kdeaccountsresource.desktop", "knutresource.desktop", "kolabproxyresource.desktop", "localbookmarksresource.desktop", "maildirresource.desktop", "maildispatcheragent.desktop", "mboxresource.desktop", "microblog.desktop", "mixedmaildirresource.desktop", "mtdummyresource.desktop", "nepomukcalendarfeeder.desktop", "nepomukcontactfeeder.desktop", "nepomuktagresource.desktop", "nntpresource.desktop", "notesresource.desktop", "openxchangeresource.desktop", "pop3resource.desktop", "vcarddirresource.desktop", "vcardresource.desktop") 
Akonadi server is now operational. 
[akonadiserver] Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
[akonadiserver] Database "/home/ctibor/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE3"
[akonadiserver] Database "/home/ctibor/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE3"
[akonadiserver] Database "/home/ctibor/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE3"
[akonadiserver] Database "/home/ctibor/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE3"
[akonadiserver] Database "/home/ctibor/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE3"
[akonadiserver] Database "/home/ctibor/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE3"
[/usr/bin/akonadi_maildispatcher_agent] akonadi_maildispatcher_agent(22563) MailDispatcherAgent::MailDispatcherAgent: maildispatcheragent: At your service, sir!
[akonadiserver] Database "/home/ctibor/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE3"
[akonadiserver] Database "/home/ctibor/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE3"
[akonadiserver] Database "/home/ctibor/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE3"
[akonadiserver] Database "/home/ctibor/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE3"
[akonadiserver] Database "/home/ctibor/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE3"
[/usr/bin/akonadi_maildispatcher_agent] akonadi_maildispatcher_agent(22563) OutboxQueue::Private::localFoldersChanged: Requesting outbox folder.
[/usr/bin/akonadi_maildispatcher_agent] akonadi_maildispatcher_agent(22563) MailDispatcherAgent::doSetOnline: Online. Dispatching messages.
[/usr/bin/akonadi_maildispatcher_agent] akonadi_maildispatcher_agent(22563) MailDispatcherAgent::Private::dispatch: Empty queue.
[akonadiserver] Database "/home/ctibor/.local/share/akonadi/akonadi.db" opened using driver "QSQLITE3"
[/usr/bin/akonadi_maildispatcher_agent] akonadi_maildispatcher_agent(22563)/libakonadi Akonadi::DefaultResourceJob::slotResult: "Unknown resource"
[/usr/bin/akonadi_maildispatcher_agent] akonadi_maildispatcher_agent(22563)/libakonadi Akonadi::SpecialCollectionsRequestJobPrivate::resourceScanResult: Failed to request resource "akonadi_maildir_resource_0" : "Unknown error. (Unknown resource)"
[/usr/bin/akonadi_maildispatcher_agent] akonadi_maildispatcher_agent(22563)/libakonadi Akonadi::ResourceScanJob::Private::fetchResult: "Unknown resource"
[/usr/bin/akonadi_maildispatcher_agent] akonadi_maildispatcher_agent(22563) OutboxQueue::Private::localFoldersRequestResult: Failed to get outbox folder.

Cahnging back to QMYSQL backend doesn't help. Akonadi starts with dialog: Maildir " for collection " is invalid.

Log from akonadictl start:

akonadictl start
Starting Akonadi Server...
   done.
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
ctibor@thuban ~/.wine/drive_c/Program Files/StarCraft II $ [akonadiserver] search paths:  ("/usr/local/bin", "/usr/bin", "/bin", "/opt/bin", "/usr/x86_64-pc-linux-gnu/gcc-bin/4.4.3", "/usr/games/bin", "/usr/sbin", "/usr/local/sbin", "/usr/local/libexec", "/usr/libexec", "/opt/mysql/libexec", "/opt/local/lib/mysql5/bin", "/opt/mysql/sbin")
[akonadiserver] Found mysql_install_db:  "/usr/bin/mysql_install_db"
[akonadiserver] Found mysql_upgrade:  "/usr/bin/mysql_upgrade"
"akonadiserver" [out] "Looking for 'mysql' as: /usr/bin/mysql
" 
"akonadiserver" [out] "Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
" 
"akonadiserver" [out] "Running 'mysqlcheck'...
" 
[akonadiserver] /usr/bin/mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/home/ctibor/.local/share/akonadi/db_misc/mysql.socket' (2) when trying to connect
[akonadiserver] FATAL ERROR: Upgrade failed
[akonadiserver] Database "akonadi" opened using driver "QMYSQL"
[akonadiserver] DbInitializer::run()
[akonadiserver] checking table  "SchemaVersionTable"
[akonadiserver] checking table  "ResourceTable"
[akonadiserver] checking table  "CollectionTable"
[akonadiserver] checking table  "MimeTypeTable"
[akonadiserver] checking table  "PimItemTable"
[akonadiserver] checking table  "FlagTable"
[akonadiserver] checking table  "PartTable"
[akonadiserver] checking table  "CollectionAttributeTable"
[akonadiserver] checking relation  "PimItemFlagRelation"
[akonadiserver] checking relation  "CollectionMimeTypeRelation"
[akonadiserver] checking relation  "CollectionPimItemRelation"
[akonadiserver] DbInitializer::run() done
[akonadiserver] skipping update 2
[akonadiserver] skipping update 3
[akonadiserver] skipping update 4
[akonadiserver] skipping update 8
[akonadiserver] skipping update 10
[akonadiserver] skipping update 12
[akonadiserver] skipping update 13
[akonadiserver] skipping update 14
[akonadiserver] skipping update 15
[akonadiserver] skipping update 16
[akonadiserver] skipping update 17
[akonadiserver] skipping update 18
[akonadiserver] skipping update 19
[akonadiserver] Database "akonadi" opened using driver "QMYSQL"
[akonadiserver] Database "akonadi" opened using driver "QMYSQL"
[akonadiserver] Akonadi::NepomukSearchEngine(0x7c39c0) QObject(0x0)
[akonadiserver] DataStore::unhideAllPimItems()
[akonadiserver] Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
PLUGINS:  "/usr/share/akonadi/agents" 
PLUGINS:  ("akonotesresource.desktop", "birthdaysresource.desktop", "calendarsearchagent.desktop", "contactsresource.desktop", "davgroupwareresource.desktop", "icalresource.desktop", "imapresource.desktop", "invitationsagent.desktop", "kabcresource.desktop", "kcalresource.desktop", "kdeaccountsresource.desktop", "knutresource.desktop", "kolabproxyresource.desktop", "localbookmarksresource.desktop", "maildirresource.desktop", "maildispatcheragent.desktop", "mboxresource.desktop", "microblog.desktop", "mixedmaildirresource.desktop", "mtdummyresource.desktop", "nepomukcalendarfeeder.desktop", "nepomukcontactfeeder.desktop", "nepomuktagresource.desktop", "nntpresource.desktop", "notesresource.desktop", "openxchangeresource.desktop", "pop3resource.desktop", "vcarddirresource.desktop", "vcardresource.desktop") 
search paths:  ("/usr/local/bin", "/usr/bin", "/bin", "/opt/bin", "/usr/x86_64-pc-linux-gnu/gcc-bin/4.4.3", "/usr/games/bin") 
PLUGINS inserting:  "akonadi_akonotes_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_birthdays_resource" 0 ("Resource", "Unique") 
PLUGINS inserting:  "akonadi_calendarsearch_agent" 0 ("Unique", "NoConfig") 
PLUGINS inserting:  "akonadi_contacts_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_davgroupware_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_ical_resource" 1 ("Resource") 
PLUGINS inserting:  "akonadi_imap_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_invitations_agent" 0 ("NoConfig") 
PLUGINS inserting:  "akonadi_kabc_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_kcal_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_kdeaccounts_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_knut_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_kolabproxy_resource" 0 ("Resource", "Unique", "NoConfig") 
PLUGINS inserting:  "akonadi_localbookmarks_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_maildir_resource" 1 ("Resource") 
PLUGINS inserting:  "akonadi_maildispatcher_agent" 0 ("Unique", "Autostart", "NoConfig") 
PLUGINS inserting:  "akonadi_mbox_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_microblog_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_mixedmaildir_resource" 1 ("Resource") 
PLUGINS inserting:  "akonadi_mailtransport_dummy_resource" 0 ("Resource", "MailTransport") 
PLUGINS inserting:  "akonadi_nepomuk_calendar_feeder" 0 ("Unique", "NoConfig") 
PLUGINS inserting:  "akonadi_nepomuk_contact_feeder" 0 ("Unique", "Autostart", "NoConfig") 
PLUGINS inserting:  "akonadi_nepomuktag_resource" 0 ("Resource", "Virtual", "Unique", "NoConfig") 
PLUGINS inserting:  "akonadi_nntp_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_notes_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_openxchange_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_pop3_resource" 1 ("Resource") 
PLUGINS inserting:  "akonadi_vcarddir_resource" 0 ("Resource") 
PLUGINS inserting:  "akonadi_vcard_resource" 1 ("Resource") 
PLUGINS:  "/usr/share/akonadi/agents" 
PLUGINS:  ("akonotesresource.desktop", "birthdaysresource.desktop", "calendarsearchagent.desktop", "contactsresource.desktop", "davgroupwareresource.desktop", "icalresource.desktop", "imapresource.desktop", "invitationsagent.desktop", "kabcresource.desktop", "kcalresource.desktop", "kdeaccountsresource.desktop", "knutresource.desktop", "kolabproxyresource.desktop", "localbookmarksresource.desktop", "maildirresource.desktop", "maildispatcheragent.desktop", "mboxresource.desktop", "microblog.desktop", "mixedmaildirresource.desktop", "mtdummyresource.desktop", "nepomukcalendarfeeder.desktop", "nepomukcontactfeeder.desktop", "nepomuktagresource.desktop", "nntpresource.desktop", "notesresource.desktop", "openxchangeresource.desktop", "pop3resource.desktop", "vcarddirresource.desktop", "vcardresource.desktop") 
Akonadi server is now operational. 
[akonadiserver] Database "akonadi" opened using driver "QMYSQL"
[akonadiserver] Database "akonadi" opened using driver "QMYSQL"
[akonadiserver] Database "akonadi" opened using driver "QMYSQL"
[akonadiserver] Database "akonadi" opened using driver "QMYSQL"
[/usr/bin/akonadi_maildispatcher_agent] akonadi_maildispatcher_agent(22755) MailDispatcherAgent::MailDispatcherAgent: maildispatcheragent: At your service, sir!
[akonadiserver] Database "akonadi" opened using driver "QMYSQL"
[akonadiserver] Database "akonadi" opened using driver "QMYSQL"
[akonadiserver] Database "akonadi" opened using driver "QMYSQL"
[akonadiserver] Database "akonadi" opened using driver "QMYSQL"
[akonadiserver] Database "akonadi" opened using driver "QMYSQL"
[/usr/bin/akonadi_maildispatcher_agent] akonadi_maildispatcher_agent(22755) OutboxQueue::Private::localFoldersChanged: Requesting outbox folder.
[/usr/bin/akonadi_maildispatcher_agent] akonadi_maildispatcher_agent(22755) MailDispatcherAgent::doSetOnline: Online. Dispatching messages.
[/usr/bin/akonadi_maildispatcher_agent] akonadi_maildispatcher_agent(22755) MailDispatcherAgent::Private::dispatch: Empty queue.
[akonadiserver] Database "akonadi" opened using driver "QMYSQL"
[/usr/bin/akonadi_maildispatcher_agent] akonadi_maildispatcher_agent(22755) OutboxQueue::Private::localFoldersChanged: Changed outbox to 19
[/usr/bin/akonadi_maildispatcher_agent] akonadi_maildispatcher_agent(22755) OutboxQueue::Private::initQueue: Fetching items in collection 19
[/usr/bin/akonadi_maildispatcher_agent] akonadi_maildispatcher_agent(22755) OutboxQueue::Private::collectionFetched: Fetched 1 items.
[/usr/bin/akonadi_maildispatcher_agent] akonadi_maildispatcher_agent(22755) OutboxQueue::Private::addIfComplete: Item 6219 has an empty remoteId.
[/usr/bin/akonadi_maildir_resource] akonadi_maildir_resource_0(22754) maildirForCollection: Got incomplete ancestor chain: Collection ID: 19    remote ID: ""
[/usr/bin/akonadi_maildir_resource] name: "outbox"
[/usr/bin/akonadi_maildir_resource] url: KUrl("akonadi:?collection=19")
[/usr/bin/akonadi_maildir_resource] parent: 18 "/home/ctibor/.kde4/share/apps/kmail/mail/"
[/usr/bin/akonadi_maildir_resource] resource: "akonadi_maildir_resource_0"
[/usr/bin/akonadi_maildir_resource] rights: 63
[/usr/bin/akonadi_maildir_resource] contents mime type: ("message/rfc822", "inode/directory")
[/usr/bin/akonadi_maildir_resource] CachePolicy:
[/usr/bin/akonadi_maildir_resource] inherit: true
[/usr/bin/akonadi_maildir_resource] interval: -1
[/usr/bin/akonadi_maildir_resource] timeout: 1
[/usr/bin/akonadi_maildir_resource] sync on demand: true
[/usr/bin/akonadi_maildir_resource] local parts: ("HEAD")
[/usr/bin/akonadi_maildir_resource] CollectionStatistics:
[/usr/bin/akonadi_maildir_resource] count: -1
[/usr/bin/akonadi_maildir_resource] unread count: -1
[/usr/bin/akonadi_maildir_resource] size: -1

Running kmail results with the same error message as described above when starting akonadi. Clicking any folder in kmail results in the animation of folder being read, but folder contents is never displayed.

Addressbook, kalendar and other apps seem to be OK.

Reproducible: Always

Steps to Reproduce:
Changed akonadi db backend in user specific config manualy from QMYSQL t QSQLITE3.

Actual Results:  
Akonadi starts with error with either backend now.

Expected Results:  
Akonadi should either warn about backend being switched and refuse to start or handle the db switch easily.
Comment 1 Tobias Koenig 2010-10-08 14:54:47 UTC
Hej,

Akonadi is not supposed to support switching of db-backend on the fly.
If you want to switch to another db-backend, export all your data, clear _all_ akonadi configurations (under .config/akonadi, .local/share/akonadi and .kde/*/akonadi*) and then restart from scratch with the new backend settings.

Ciao,
Tobias
Comment 2 Nick Shaforostoff 2011-02-10 00:04:37 UTC
what if i modify startkde script to set the sqlite db backend if laptop-detect says the current machine is laptop (running mysql on a netbook is a bit too far in my opinion)?

or maybe there is a better way to make this check?