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

17 thoughts on “Banshee crashes: The database disk image is malformed

  1. Aaron says:

    Nice!!!, This is still working ,, i thought all hope was lost on my new ubuntu for music =(.. This fixed it, ha smooth stuff nice work!

  2. Great job, I run Ubuntu in a VM and it kept crashing while playing music off a usb drive (my phone). Did realize there was corruption till I ran strace and saw the error. Your restore worked like a charm, so thanks.

  3. nate says:

    This works perfectly in fedora as well, just replace ‘sudo apt-get install sqlite3’ with ‘sudo yum install sqlite’, the rest of the steps are exactly the same.

Leave a reply to David Cancel reply