My Programming Weblog

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:

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.