Banshee freezes when opened

This is a self-note.

$ banshee --disable-dbus


Banshee crashes: The database disk image is malformed

Banshee just crashed on me with the following error message:

[Info  20:44:59.949] Running Banshee 1.6.1: [Ubuntu 10.04 LTS (linux-gnu, x86_64) @ 2010-06-18 18:47:49 UTC]
[Info  20:45:01.043] All services are started 0.949921
Exception has been thrown by the target of an invocation.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Mono.Data.Sqlite.SqliteException: The database disk image is malformed
database disk image is malformed
at Mono.Data.Sqlite.Sqlite3.Reset (Mono.Data.Sqlite.SqliteStatement stmt) [0x00000]
at Mono.Data.Sqlite.Sqlite3.Step (Mono.Data.Sqlite.SqliteStatement stmt) [0x00000]
at Mono.Data.Sqlite.SqliteCommand.ExecuteNonQuery () [0x00000]
at (wrapper remoting-invoke-with-check) Mono.Data.Sqlite.SqliteCommand:ExecuteNonQuery ()
at Hyena.Data.Sqlite.HyenaSqliteCommand.Execute (Hyena.Data.Sqlite.HyenaSqliteConnection hconnection, Mono.Data.Sqlite.SqliteConnection connection) [0x00000]
--- End of inner exception stack trace ---

I think this is how it happened. My computer hanged while Banshee was running, and I had to force reboot it.  Hence, the Banshee database file was corrupted. Thanks to boombox1387 from Ubuntu forum, this problem can be fixed as the following:

Install sqlite3:

sudo apt-get install sqlite3

Then run:

cd ~/.config/banshee-1

Dump the database in an SQL text format:

sqlite3 banshee.db ".dump" > dump

Backup the (corrupted) database:

mv banshee.db banshee.db.backup

Create and restore a database from dump file:

cat dump | sqlite3 banshee.db

Banshee started up again. Both files: dump and banshee.db can be removed.

Credit: [ubuntu] Banshee Crashed