Banshee mit Problemen unter Ubuntu 15.04

Veröffentlicht am

Nachdem ich mein System mit Ubuntu 15.04 (Vivid Vervet) neu aufgesetzt, Banshee nachinstalliert und meine Musikbibliothek frisch importiert hatte, machte der Medienplayer leider ein paar Probleme. Was mir aufgefallen ist…

Problem #1 – Langsamer Start

banshee-1504Das Hauptproblem ist der (gelinde gesagt) langsame Start von Banshee. Es sieht zunächst so aus, als würde das Programm hängen bleiben. Das Fenster wird erst einmal komplett weiß, nach einer Weile dann ganz grau dargestellt. Es sieht so aus, als wäre die UI kaputt.
Tatsächlich ist es bei mir (ca. 115GB Daten) allerdings so, dass im Hintergrund drei Datenbank-Statements mit jeweils rund 20 Sekunden Verarbeitungszeit abgesetzt werden und Banshee sich daher erst nach etwa einer Minute meldet.

Interessant ist, dass Banshee in 15.04 in derselben Version vorliegt, wie noch unter meiner vorigen Installation mit Ubuntu 14.04.02 – nämlich in Version 2.6.2. Ausschlaggebend für die unperformante SQL-Ausführung scheint vielmehr eine Umstellung in SQLite3 zu sein, denn da ist nun anstatt der Version 3.8.2 die Version 3.8.7.4 aktiv.

Das Problem ist schon in verschiedenen Bugreports gemeldet worden, siehe z.B. Bug #1447956 bei Launchpad oder Bug #740879 im Gnome-Bugzilla. Wenn ihr auch betroffen sein solltet, meldet das doch bei Launchpad.

Ob das Problem bei euch genauso zum Tragen kommt, könnt ihr prüfen, indem ihr Banshee im Debug-SQL-Modus startet. Dazu startet ihr Banshee im Terminal folgendermaßen:

banshee --debug-sql >/tmp/dbgsql.log

Nachdem Banshee ansprechbar ist, könnt ihr die geschriebene Protokolldatei /tmp/dbgsql.log auf lang laufende SQLs analysieren. Mit folgendem grep könnt ihr beispielsweise die Zeilennummern herausbekommen, an denen SQL-Statements zu finden sind, die 1000ms und länger gedauert haben:

grep -n "[0-9]\{4,\}ms" /tmp/dbgsql.log

Bei mir sind so dann Statements wie dieses hier zu finden:

DELETE FROM CoreCache WHERE ModelID = 21;
INSERT INTO CoreCache (ModelID, ItemID) SELECT 21, CoreTracks.TrackID
FROM (SELECT MIN(CoreTracks.TrackID) AS TrackID, CoreTracks.Year FROM CoreTracks GROUP BY CoreTracks.Year) AS CoreTracks
WHERE CoreTracks.Year IN
(SELECT CoreTracks.Year FROM CoreTracks, CoreCache
WHERE CoreCache.ModelID = 83 AND
CoreCache.ItemID = CoreTracks.TrackID )
ORDER BY Year

Warum das Statement so viel Zeit benötigt, konnte ich leider nicht herausbekommen, zumal es beim Versuch auf der DB-Shell recht flott ausgeführt wurde.

Aus den Bugreports ist zu entnehmen, dass es mit der neuen 2.9er-Version vermutlich gelöst sein sollte – hier wurde ein Hinweis (UNLIKELY) an den Optimizer von SQLite eingebaut. Ich habe es mir aber bislang erspart, die Version zum Test selbst zu kompilieren. Außerdem ist auch jemand der Meinung, dass die Statements an sich nicht optimal aufgebaut sind und daher überarbeitet werden sollten.

Vor dem kompletten Neuimport der Musikbibliothek habe ich übrigens auch den Weg probiert, die Datenbank und die Covers einfach zu kopieren – mit demselben Ergebnis.

Problem #2 – Kein Menü

Das nächste Problem ist, dass Banshee kein Menü darstellt. Man hat über die UI also keinerlei Zugriff auf die Einstellungen oder beispielsweise den Import-Dialog.
Als kleinen Workaround kann man Banshee beim Start einen Parameter mitgeben, der den gewünschten Dialog direkt aufruft.

So öffnet folgender Aufruf z.B. direkt den Konfigurations-Dialog:

banshee --show-preferences

Und dieser hier den Import-Dialog:

banshee --show-import-media

Weitere Hinweise bekommt ihr mit:

banshee --help-ui

Der Fehler tritt übrigens unabhängig davon auf, ob die Menüs in der Titelleiste des Fensters oder in der Menüleiste (siehe EinstellungenDarstellung in 15.04) dargestellt werden.
Für dieses Problem liegen ebenfalls schon Bugreports vor: siehe Bug #1450897 und Bug #1450197 bei Launchpad.

Problem #3 – Dateien umbenennen Import in Musiksammlung

Schließlich habe ich über diesen Workaround neue Musik in meine Bibliothek importiert. Dabei habe ich (wie hier beschrieben) Banshee so konfiguriert, dass es beim Import die Musikdateien in meinen Musikordner kopiert und dabei laut den Tags einheitlich umbenennt. Leider scheint das Ersetzen nicht so wie gewohnt zu funktionieren. Zumindest der optionale Part mit der CD-Nummer sieht im Ergebnis falsch aus.

Diesen Punkt werde ich mir allerdings erst dann noch einmal genau ansehen, wenn Banshee im aktuellen Ubuntu überhaupt zu gebrauchen ist.
Hoffentlich gibt es bald eine Lösung, denn, wie ich festgestellt habe, komme ich mit Rhythmbox nicht mehr ganz so gut klar…


Dieser Artikel wurde in der/den Kategorie(n) OSBN, Planet-U, Praxis veröffentlicht und mit den Tags , , versehen.

14 Kommentare zu Banshee mit Problemen unter Ubuntu 15.04

  1. Kommentar von obstsalat
    8. Mai 2015, 11:29 Uhr.

    banshee gibts noch?

    • Kommentar von Gerald
      26. November 2015, 16:19 Uhr.

      Sorry, dein Kommentar reifte ein Weilchen im Spam-Ordner. Aber klar gibt’s Banshee noch. Und ich ziehe es immer noch Rhythmbox vor… Gruß, Gerald

  2. Kommentar von Usul
    8. Mai 2015, 11:46 Uhr.

    Frage: Lagen die Banshee-Daten (also, auf denen die langsamen DB-Queries liefen) auf einer SSD?

    • Kommentar von Gerald
      8. Mai 2015, 11:57 Uhr.

      Nein, ich habe keine SSD im Einsatz. Ich konnte die Statements, wie gesagt, komischerweise in der Shell auch schnell ausführen. Das mag aber vielleicht irgendwie am Datenbestand liegen, der möglicherweise während der Startens anders aussieht. Keine Ahnung… :/

  3. Kommentar von Gerd Sänger
    23. Mai 2015, 10:56 Uhr.

    Der Fehler soll lt. Entwickler gefixt sein in Banshee 2.6.2.3.

    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=766560

    Jetzt muss ich nur noch die Version finden und installieren. Wer sie zuerst findet meldet sich bitte hier. Danke

    • Kommentar von Gerald
      23. Mai 2015, 11:00 Uhr.

      Ah, ein Leidensgenosse! 😉 Danke für die Info! Mal sehen, ob die Version in die Standardquellen kommt – oder sich jemand bereit erklärt, sie zu kompilieren und als PPA bereitzustellen…

  4. Kommentar von Gerd Sänger
    23. Mai 2015, 11:20 Uhr.

    hier die Lösung

    https://packages.debian.org/sid/amd64/banshee/download

    zuerst das defekte banshee vollständig über synaptik deinstallieren. Dann Doppelklick auf die 2.6.2-3 und mit Softwarecenter installieren.

    Alles wieder in Butter!

    Viel Erfolg

  5. Kommentar von Gerd Sänger
    23. Mai 2015, 13:59 Uhr.

    Nachtrag: beim normalen update wird bei mir immer die „höhere“ Banshee Version aus den Paketquellen angeboten, das ist aber die defekte, die ich nicht mehr brauche. Bei debian gibt es auch die 2.9.1-3, die ließ sich bei mir nicht starten. Kann ich über Synaptic oder sources.list verhindern, dass mir das falsche Paket nicht mehr angeboten wird? man-pages zu Apt pinning habe ich mir durchgelesen, komme aber nicht weiter.

  6. Kommentar von Gerd Sänger
    23. Mai 2015, 14:37 Uhr.

    Update-Problem gelöst mit Anleitung aus http://debian-handbook.info/browse/de-DE/stable/sect.apt-get.html

    Kurzfassung:

    Mit root-Rechten (gksudo gedit im Terminal) in /etc/apt eine Datei preferences anlegen.

    Inhalt nur folgende drei Zeilen:

    Package: banshee
    Pin: version 2.6.2-3*
    Pin-Priority: 1001

    Sobald die Standardquelle wieder verwendbar wird (hoffentlich bald), obige Änderung zurücknehmen.

    • Kommentar von Gerald
      23. Mai 2015, 16:02 Uhr.

      Klasse! Danke nochmal für deine Beiträge hier! Der Workaround funktioniert auch für mich – ich denke, damit kann ich erstmal leben. Viele Grüße, Gerald

  7. Kommentar von Gerd Sänger
    27. Mai 2015, 18:57 Uhr.

    Fehler soll jetzt auch in Standardquelle verfügbar sein. Ich bekam heute folgende Mail vom Entwickler, der vor kurzem das fehlende update für ubuntu als Versehen beschrieb, er hatte nur die Debian-version gefixt:

    This bug was fixed in the package banshee – 2.9.0+really2.6.2-3ubuntu1

    —————
    banshee (2.9.0+really2.6.2-3ubuntu1) wily; urgency=low

    * Merge from Debian, remaining changes:
    – Enable and recommend SoundMenu and Disable NotificationArea by default
    – Disable boo and karma extensions
    – Move desktop file for Meego UI to /usr/share/une/applications
    – [ccbcbbd] Make Banshee translatable in Launchpad
    – [2094ee5] Bump libgpod build-dep version to 0.8.2-7~
    – [a7156c0] Filter out libgpod-cil-dev versions built against gtk#3
    – [e7c634d] Update dversionmangle for extracting +really version out
    – [b5f10d6] Go back to dbus# 1.0 ABI.
    * Also brings in SQLite regression fix from Debian (LP: #1447956)

    — Chow Loong Jin Mon, 25 May 2015 11:20:26
    +0800

    ** Changed in: banshee (Ubuntu)
    Status: Confirmed => Fix Released

    — You received this bug notification because you are subscribed to the bug report. https://bugs.launchpad.net/bugs/1447956

    • Kommentar von Gerald
      27. Mai 2015, 18:59 Uhr.

      Ja, ich habe die Neuigkeiten auch verfolgt. Es gab auch ein Update für Banshee, die Version 2.9.0+really2.6.2-3ubuntu4. Aber in den Changelogs war unter 2.9.0+really2.6.2-3ubuntu1 der Punkt „Also brings in SQLite regression fix from Debian (LP: #1447956)“ nicht enthalten und ich hatte tatsächlich auch wieder das fehlerhafte Verhalten nach dem Update. 🙁

      • Kommentar von Gerd Sänger
        20. Juni 2015, 15:24 Uhr.

        Banshee kann wieder aus den offiziellen Paketquellen bezogen werden.Ich habe gestern die Datei preferences (siehe mein Eintrag vom 23.5.15) gelöscht. Die funktionierende Version heißt jetzt 2.9.0+really2.6.2-2ubuntu5

  8. Kommentar von Toky
    5. Juli 2016, 00:20 Uhr.

    Ich habe das Problem jetzt nach dem update auf Linux Mint 18. Kann Banshee nur starten wen ich vorher die banshee.db lösche aus dem Config Ordner. Danach muss ich den Ordner scan starten und die Musik Daten neu einlesen. Nach Neustart geht alles wieder von vorne los. Nutze jetzt Clementine. Clementine hat nur Probleme mit selbst erstellten playlisten. Erkennt die Ordner Struktur nicht richtig. Warte jetzt Updates ab.

Schreibe einen Kommentar zu Gerald Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.