This has been (mostly) fixed. I think that there are some possible improvements regarding schema upgrading / database creation.
As Seif said in #9, to replicate this: 1) Backup activity.sqlite 2) Restart the daemon 3) While "Updating sql schema" kill the daemon The problem, however, is that this bug does not manifest in the way described above. What we are doing in the above replication is creating a new database (this is checked by new_database = not os.path.exists(file_path)), and interrupting the process half-way through. If we then apply _do_schema_upgrade on the corrupted database it will fail, as there will be column names that already exist. In short, a corrupted upgrade != a corrupted database creation, and we *cannot* mix the two together. A quick fix is to apply _do_schema_upgrade on both cases, and take a duplicate column name error as a symptom of a corrupted database creation -- this allows us to delete the database, so that the next time zeitgeist-daemon is run it is re-created. I will be including some test cases soon :) -- You received this bug notification because you are a member of Zeitgeist Framework Team, which is subscribed to Zeitgeist Framework. https://bugs.launchpad.net/bugs/660307 Title: zeitgeist fails to run if its database structure is not complete Status in Zeitgeist Framework: Triaged Status in “zeitgeist” package in Ubuntu: Confirmed Bug description: Binary package hint: zeitgeist If zeitgeist's database (~/.local/share/zeitgeist/activity.sqlite) is incomplete, eg missing the events table, zeitgeist fails to run. And because the GUI does not report that zeitgeist faiiled to run, applications that rely on zeitgeist simply fail to work without any relevant reason given. I ran into this problem on upgrading an installation from Ubuntu 10.04 to 10.10. After the upgrade, the dockbarx applet failed to run. The error message from gnome-panel just said it had failed to run, and .xsession-errors said the child process did not report any specific error. Running in debug mode (ie with the command "dockbarx-factory.py run-in-window") gave: ERROR:dbus.proxies:Introspect error on :1.134:/org/gnome/zeitgeist/log/activity: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Message did not receive a reply (timeout by message bus) DEBUG:dbus.proxies:Executing introspect queue due to error Traceback (most recent call last): File "/usr/bin/dockbarx_factory.py", line 26, in <module> import dockbarx.dockbar ... File "/usr/lib/pymodules/python2.6/dbus/proxies.py", line 140, in __call__ **keywords) File "/usr/lib/pymodules/python2.6/dbus/connection.py", line 620, in call_blocking message, timeout) dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.134 was not provided by any .service files The error appeared to be a dbus error, but in fact was a problem with zeitgeist, which was failing to run because its database apparently was corrupted during the upgrade. I fixed the problem (eventually) by deleting the zeitgeist database file and restarting the zeitgeist- daemon manually. What I would expect to happen is: 1) The GUI should report that zeitgeist has failed to run. 2) Better yet, zeitgeist could create the necessary tables if its database is invalid or perhaps backup the old database and create a new one so it can run properly. It would of course be nice if dockbarx reported better error information, but since there are other applications that depend on zeitgeist, it would be good if zeitgeist could recover from this situation. ProblemType: Bug DistroRelease: Ubuntu 10.10 Package: zeitgeist 0.5.2-0ubuntu1 ProcVersionSignature: Ubuntu 2.6.35-22.34-generic 184.108.40.206 Uname: Linux 2.6.35-22-generic i686 Architecture: i386 Date: Thu Oct 14 11:52:41 2010 InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Alpha i386 (20100602.2) PackageArchitecture: all ProcEnviron: PATH=(custom, no user) LANG=en_AU.UTF-8 SHELL=/bin/bash SourcePackage: zeitgeist _______________________________________________ Mailing list: https://launchpad.net/~zeitgeist Post to : firstname.lastname@example.org Unsubscribe : https://launchpad.net/~zeitgeist More help : https://help.launchpad.net/ListHelp