web-dev-qa-db-fra.com

Banshee a rencontré une erreur fatale (erreur SQLite 11: l'image du disque de la base de données est mal formée)

Je lance ubuntu 10.10 Maverick Meerkat et récemment, je participe à la vérification des indicateurs météorologiques en utilisant les fichiers instables. Cependant, il y avait un bug qui provoquait le gel soudain de mon système (en raison de la météo indicative, pas d'ubuntu) et le seul moyen de récupérer est de procéder à une réinitialisation matérielle du système. C'est arrivé plusieurs fois.

Et lorsque j’essaie d’ouvrir Banshee après quelques réinitialisations, j’obtiens l’erreur fatale suivante qui m’oblige à quitter Banshee.

enter image description here

La capture d'écran n'est pas assez claire pour lire l'erreur, alors je la poste ci-dessous,

   An unhandled exception was thrown: Sqlite error 11: database disk image is malformed (SQL: 
                BEGIN TRANSACTION;
                    DELETE FROM CoreSmartPlaylistEntries WHERE SmartPlaylistID IN (SELECT SmartPlaylistID FROM CoreSmartPlaylists WHERE IsTemporary = 1);
                    DELETE FROM CoreSmartPlaylists WHERE IsTemporary = 1;
                COMMIT TRANSACTION)

  at Hyena.Data.Sqlite.Connection.CheckError (Int32 errorCode, System.String sql) [0x00000] in <filename unknown>:0 
  at Hyena.Data.Sqlite.Connection.Execute (System.String sql) [0x00000] in <filename unknown>:0 
  at Hyena.Data.Sqlite.HyenaSqliteCommand.Execute (Hyena.Data.Sqlite.HyenaSqliteConnection hconnection, Hyena.Data.Sqlite.Connection connection) [0x00000] in <filename unknown>:0 
Exception has been thrown by the target of an invocation.

  at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  at System.Reflection.MonoCMethod.Invoke (BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  at System.Reflection.ConstructorInfo.Invoke (System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in <filename unknown>:0 
  at System.Activator.CreateInstance (System.Type type) [0x00000] in <filename unknown>:0 
  at Banshee.Gui.GtkBaseClient.Startup () [0x00000] in <filename unknown>:0 
  at Hyena.Gui.CleanRoomStartup.Startup (Hyena.Gui.StartupInvocationHandler startup) [0x00000] in <filename unknown>:0 

.NET Version: 2.0.50727.1433
OS Version: Unix 2.6.35.27

Assembly Version Information:

gkeyfile-sharp (1.0.0.0)
Banshee.AudioCd (1.9.0.0)
Banshee.MiniMode (1.9.0.0)
Banshee.CoverArt (1.9.0.0)
indicate-sharp (0.4.1.0)
notify-sharp (0.4.0.0)
Banshee.SoundMenu (1.9.0.0)
Banshee.Mpris (1.9.0.0)
Migo (1.9.0.0)
Banshee.Podcasting (1.9.0.0)
Banshee.Dap (1.9.0.0)
Banshee.LibraryWatcher (1.9.0.0)
Banshee.MultimediaKeys (1.9.0.0)
Banshee.Bpm (1.9.0.0)
Banshee.YouTube (1.9.0.0)
Banshee.WebBrowser (1.9.0.0)
Banshee.Wikipedia (1.9.0.0)
pango-sharp (2.12.0.0)
Banshee.Fixup (1.9.0.0)
Banshee.Widgets (1.9.0.0)
gio-sharp (2.14.0.0)
gudev-sharp (1.0.0.0)
Banshee.Gio (1.9.0.0)
Banshee.GStreamer (1.9.0.0)
System.Configuration (2.0.0.0)
NDesk.DBus.GLib (1.0.0.0)
gconf-sharp (2.24.0.0)
Banshee.Gnome (1.9.0.0)
Banshee.NowPlaying (1.9.0.0)
Mono.Cairo (2.0.0.0)
System.Xml (2.0.0.0)
Banshee.Core (1.9.0.0)
Hyena.Data.Sqlite (1.9.0.0)
System.Core (3.5.0.0)
gdk-sharp (2.12.0.0)
Mono.Addins (0.4.0.0)
atk-sharp (2.12.0.0)
Hyena.Gui (1.9.0.0)
gtk-sharp (2.12.0.0)
Banshee.ThickClient (1.9.0.0)
Nereid (1.9.0.0)
NDesk.DBus.Proxies (0.0.0.0)
Mono.Posix (2.0.0.0)
NDesk.DBus (1.0.0.0)
glib-sharp (2.12.0.0)
Hyena (1.9.0.0)
System (2.0.0.0)
Banshee.Services (1.9.0.0)
Banshee (1.9.0.0)
mscorlib (2.0.0.0)

Platform Information: Linux 2.6.35-27-generic i686 unknown GNU/Linux

Disribution Information:

[/etc/lsb-release]
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.10
DISTRIB_CODENAME=maverick
DISTRIB_DESCRIPTION="Ubuntu 10.10"

[/etc/debian_version]
squeeze/sid

Juste pour que ce soit clair, cela ne s'est produit qu'après les réinitialisations dures et pas avant. J'avais l'habitude d'utiliser Banshee tous les jours et cela fonctionnait parfaitement.

Quelqu'un peut-il m'aider à résoudre ce problème?

6
nik90

Malheureusement, ce problème n’est pas tout à fait inhabituel. Cela est souvent dû à une panne système ou à une panne de courant pendant le fonctionnement de Banshee, mais il peut y avoir d'autres causes. La page Banshee FAQ contient une liste d'instructions qui fonctionnent la plupart du temps . Dans le terminal, avec le programme sqlite3 installé, essayez ceci:

Accédez au répertoire dans lequel Banshee stocke la base de données:

cd ~/.config/banshee-1

Exécutez la commande ".dump" sur la base de données, qui convertira toutes les tables en texte. Enregistrez cette sortie dans un fichier nommé dump. Vous devrez peut-être Sudo apt-get install sqlite3 si vous ne l'avez pas déjà.

sqlite3 banshee.db ".dump" > dump

Renommez votre base de données actuelle pour créer une sauvegarde:

mv banshee.db banshee.db.backup

Passez le contenu de votre dump à travers la commande sqlite3, en créant une nouvelle base de données (avec le même contenu que l'original):

cat dump | sqlite3 banshee.db

Banshee travaille actuellement à rendre la sauvegarde et la récupération de la base de données automatique. Si vous voulez rester au courant des progrès, n'hésitez pas à CC vous-même au rapport de bogue .

8

Il semble que la base de données de Banshee soit corrompue. Pour exécuter Banshee, vous devez supprimer le fichier de base de données corrompu (ou le réparer). La base de données est située à

_~/.config/banshee-1/banshee.db
_

Renommez-le et Banshee peut courir à nouveau. Mais tous vos paramètres sont perdus. Si vous souhaitez le récupérer, suivez cet article .

Cela consiste à:

  1. Ouvrez une fenêtre de terminal, accédez à _~/.config/banshee-1_ et installez sqlite3: _Sudo apt-get install sqlite3_.
  2. Sauvegardez le fichier _banshee.db_ en le copiant.
  3. Ouvrez le fichier de base de données à l'aide de sqlite3: _sqlite3 banshee.db_
  4. Effectuez une contrôle d'intégrité en exécutant la commande _PRAGMA integrity_check;_. Cela signale des erreurs, mais ne corrige pas celles
  5. Essayez la commande REINDEX;

Si rien de ce qui précède n'a fonctionné, continuez à lire Récupération d'une base de données de banshee corrompue .

2
Lekensteyn