Profilproblem? Thunderbird startet gar nicht - seltsame Fehlermeldungen.

  • Betriebssystem ist Ubuntu 18.04 ... POP3 bei strato, funktioniert seit Jahren perfekt.

    Nach dem Update auf Version 68 liefert der Aufruf aus der shell


    JavaScript error: resource://gre/modules/XULStore.jsm, line 66: Error: Can't find profile directory.


    Aber es erscheint trotzdem der korrekte Profilauswahl-Dialog (GUI). Also wurde es doch gefunden!

    Klickt man dann auf ein Profil, gibt es noch die Meldung


    *** Failed to get string brandProductName in bundle: chrome://branding/locale/brand.properties

    JavaScript error: chrome://global/content/elements/stringbundle.js, line 45: NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIStringBundle.GetStringFromName]


    ###!!! [Child][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost


    Und nix ist mit thunderbird 68. Buggy. Version 60.0.9 funktioniert nach wie vor ausgezeichnet.


    Ich hoffe mal dass das irgendwen irgendwann so nervt dass es Autoren-seitig behoben wird.

    So lange bleibe ich bei der alten Version, notgedrungen.


    Ach ja: Der Profilmanager bietet Umbenennen, Anlegen und Löschen von Profilen, *keines* ist eine nützliche Option. "Aus alter Version importieren" wäre eine solche gewesen, sollten sich Formate und/oder Speicherorte geändert haben. "brandProductName" hört sich allerdings nach etwas anderem an.


    Einmal editiert, zuletzt von edefault (Vor einem Moment) aus folgendem Grund:

    Nachtrag: Das war, was 68.4 geliefert hat. Mit 68.6 vereinfacht sich die Fehlermeldung:


    ###!!! [Child][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost


    Wohlgemerkt: Thunderbird startet *garnicht*, es lassen sich also auch keine Features aufrufen.

  • So ... nach einiger Recherche habe ich zumindest einen Workaround gefunden.
    Hier: https://bugzilla.mozilla.org/show_bug.cgi?id=1578539 . Und der geht so:


    Thunderbird komplett zumachen. Dann für jeden einzelnen User Account "UserXYZ"

    im Verzeichnis .thunderbird/UserXYZ die Datei global-messages-db.sqlite löschen

    außerdem alle Dateien im Unterverzeichnis .thunderbird/UserXYZ/Mail/Local Folders löschen

    (oder umbenennen oder woandershin wegschieben, falls man das später bereuen sollte)


    Und - voila - auch der neueste Thunderbird (hier 68.6.0) startet und findet seine Datenbasis.

  • Hallo,

    schön, dass du die Lösung deines Problem selber finden konntest.

    Sie wurde auch in diesem Forum schon in mindestens einem halben Dutzend gleichartige Themen besprochen.

    Der folgende Ratschlag ist aber gefährlich und unbedingt zu vermeiden, zumal er mit der Lösung des Problems überhaupt nichts zu tun hat:

    außerdem alle Dateien im Unterverzeichnis .thunderbird/UserXYZ/Mail/Local Folders löschen

    Viele Thunderbird-Benutzer - besonders wenn sie IMAP-Konten haben - speichern Nachrichten lokal in den Lokalen Ordnern.

    Der Nachrichtenspeicher der Lokalen Ordner befindet sich aber in diesem Ordner "Local Folders" im Ordner "Mail" im Profilordner.

    Wenn diese Nutzer den Inhalt des Ordners "Local Folders" löschen, sind alle dort gespeicherten Nachrichten unwiderruflich weg, es sei denn die Nutzer machen regelmäßig Backups ihres Profilordners und können gegebenenfalls darauf zurückgreifen, sobald sie den Fehler bemerken.

  • Stimmt ... daher auch mein Hinweis:


    oder umbenennen oder woandershin wegschieben, falls man das später bereuen sollte


    grundsätzlich ist anzuraten, immer dann, wenn man nicht genau weiß, was man tut (wie ich):
    VORHER eine Kopie des Experimentierfeldes anfertigen!

    Also hier:

    Auf jeden Fall den Profilordner .thunderbird/UserXYZ sichern

    und ggf. auch den Programmordner /usr/lib/thunderbird,

    falls man mit verschiedenen Versionen experimentieren möchte.


    Hintergrund:

    In meinem Fall liegen diese beiden Verzeichnisse in vollkommen voneinander getrennten Welten:
    Der Programmordner lokal auf einem (zwei, drei, vier, ...) austauschbaren Laptops, von denen aus die verschiedenen Nutzer/Familienmitglieder damit arbeiten sollen, und zwar - und jetzt kommts dick - in ihrem jeweiligen Arbeitsverzeichnis auf einem zentralen Fileserver/NAS, der dieses über LAN per NFS mounts bereit stellt (lokal: /etc/fstab, server: /etc/exports).

    Das ist historisch bedingt und *muss* so sein, weil (auch) andere Systeme als Linux darauf arbeiten.
    Nebenbei ist es auch schnell und praktisch.


    Wenn da jetzt bei jeder Unterversionsänderung eines Anwenderprogamms - wie Thunderbird - eine geänderte Dateistruktur im (zentralen) Profilverzeichnis vorrausgesetzt wird, gibts einen riesen Schlammassel, wenn nicht alle lokalen Arbeitsplätze (Laptops eins, zwei, drei, vier, ...) mit der exakt *gleichen* Programmversion laufen.
    Die Innovationsfreude der Entwickler in Ehren, aber das von Version zu Version erneut zu pflegen macht sehr viel Arbeit.


    Dochdoch, das ist ein echtes Problem. Gerade habe ich versehentlich 68.4.x von einem Laptop gestartet, nachdem das Profilverzeichnis auf dem Fileserver von einem anderen Laptop aus mit/für 68.6.0 eingerichtet war... automatische Updates schön und gut, aber doch bitte mit vorangehender Konsistenzkontrolle; oder besser noch, man vermeiden mögliche Inkonsistenzen schon beim Design.

  • oder umbenennen oder woandershin wegschieben, falls man das später bereuen sollte

    Nein, sie sollen Local Folders weder löschen noch woanders hin verschieben!!

    Der Nutzer in dem von dir verlinkten Bug-Report hat zwar gesagt

    "I'm not sure which of these things fixed it but I deleted global-messages-db.sqlite (175 MB) and deleted mail from Local Folders and then the upgrade from 60.9 to 68.1 worked fine"

    wobei sich aber heraus gestellt hat, dass das Löschen von "Local Folders" überhaupt nichts mit der erfolgreichen Lösung (nämlich das Löschen von global-messages-db.sqlite ) zu tun hat.

    grundsätzlich ist anzuraten, immer dann, wenn man nicht genau weiß, was man tut (wie ich):
    VORHER eine Kopie des Experimentierfeldes anfertigen!

    Also hier:

    Auf jeden Fall den Profilordner .thunderbird/UserXYZ sichern

    und ggf. auch den Programmordner /usr/lib/thunderbird,

    falls man mit verschiedenen Versionen experimentieren möchte.

    Das ist ein sehr guter Ratschlag, den ich hundertprozentig befürworte und schon seit langem vor dem Testen oder Experimentieren selber befolge, obwohl ich schon zwei Mal täglich automatisch Sicherungskopien meines Anwendungsordners "Thunderbird" mit seinen vier Profilen mache.

  • Dieses "I'm not sure [...]" habe ich für mich verifiziert. Das alleinige Löschen/Unsichtbarmachen der global-messages.db.sqliteDatei brachte keine Besserung. Erst das vollständige Löschen aller Dateien in "Local Folders" brachte den gewünschten Effekt. Warum ... keine Ahnung.

    Ich weiss nicht mal was dieser Ordner überhaupt soll, habe ihn noch nie benutzt.

    Im Profilmanger komplett löschen kann man ihn nicht, muss sich also damit abfinden dass er da sinnlos herumliegt. Das war schon immer so.