Firefox: problematic extensions, slow closing, extensions data loss

For (at least) several months, the first start-up of Firefox after a Linux logout gives me a session-restore page, indicating that it did not stopped properly. It also causes data loss in some add-ons. After some investigation, it turned out the causes were the following:

  • Some add-ons made closing Firefox very slow (about 1 minute!): there is a conflict between « Privacy Badger » et « Self Destructing Cookies« , and also « Tab Memory Usage » by itself is a problem.
  • When closing the Linux session, the session managers of the desktop environments (KDE, XFCE, Unity) gives the programs some time to shutdown properly (7-15 seconds I think). In my case, Firefox was killed every single time. This timeout not being configurable (without modifying the code et recompiling), the only solutions were either make the closing faster or manually closing Firefox before disconnecting. I find the way Windows handles it better: after the timeout, it asks the user if he wants to kill the remaining programs.
    Now that I disabled « Self Destructing Cookies » and « Tab Memory Usage », it takes a bit less that 10s for Firefox to stop, which it still not enough for it to close properly 100% of the time.
  • The add-ons using the « Simple storage » API (like MyKanji) save their data on the disk when the browser stops (even if the data was not modified recently!), and the data may be lost if the browser is killed at this moment.

Conclusions:

  • It may be one of the reasons why Mozilla wants to normalize the add-ons API (in addition to the security and the multi-process browser). Investigating the conflicting add-ons can be time-consuming, and a majority of users may think that Firefox itself is slow. Once I disabled the offending add-ons, my browser had a second youth.
  • Hard-coded time-outs (also known as « magic numbers ») are bad. It’s better to have a default value and a configurable setting (even if not documented).

Firefox: extensions problématiques, fermeture lente, perte de données d’extensions

Depuis plusieurs mois (au moins), le premier démarrage de Firefox suivant une fermeture de session Linux m’accueille avec une page de restauration de session (due à un incident lors de la fermeture). Cela entraînait également la perte de données de certaines extensions. Après investigation, les causes étaient les suivantes:

  • Certaines extensions rendaient la fermeture très lente (1 minute!): d’une part il y a un conflit entre « Privacy Badger » et « Self Destructing Cookies », et d’autre part « Tab Memory Usage » en lui-même pose problème.
  • Lors de la fermeture de session, les gestionnaires de session des différents environnements de Linux (KDE, XFCE, Unity) laissent aux programmes un délai limité (7-15 s je crois) pour se fermer proprement avant de les tuer. Et donc dans mon cas, Firefox était tué à tous les coups. Ce délai n’étant pas configurable (sauf modification et recompilation), les seules solutions sont soit de rendre la fermeture plus rapide, soit de fermer manuellement Firefox avant de se déconnecter. J’aurais préféré que ce soit comme sous Windows: qu’après le délai, le système demande à l’utilisateur si il veut vraiment tuer les programmes restant.
    Maintenant que j’ai désactivé « Self Destructing Cookies » et « Tab Memory Usage », le temps de fermeture de session est d’un peu moins de 10 s, ce qui reste toujours trop pour clore la session avec succès à tous les coups.
  • Les extensions utilisant l’API « Simple storage » (comme « Mes Kanjis ») sauvent sur disque leurs données à la fermeture du navigateur (même si les données n’ont pas été modifiées récemment !), et si le navigateur est tué à ce moment, les données peuvent être perdues.

Conclusions:

  • Ça donne une explication supplémentaire à la volonté de Mozilla de normaliser les API des extensions (en plus de la sécurité et de la répartition sur plusieurs processus). Partir à la chasse aux conflits peut être fastidieux, et de nombreux utilisateurs tireront la conclusion que Firefox est un navigateur poussif. Une fois les extensions fautives désactivées, mon navigateur a connu une seconde jeunesse.
  • Les délais en dur dans le code (aussi connu sous le nom de « nombre magique »), c’est mal. Mieux vaut avoir une valeur par défaut pouvant être remplacée par une valeur configurable (même si celle-ci n’est pas documentée).

Mise à jour Kubuntu 16.04: du mieux

Bravant tous les risques, j’ai mis à jour ma Kubuntu de 15.10 à 16.04. Moins de surprises que lors des mises à jour précédentes: la seule erreur que j’ai eu est la reconfiguration de PhpMyAdmin qui échoue… parce que MySQL est arrêté (pas encore mis à jour). Une bonne surprise même: plus de pause de plusieurs secondes en branchant/débranchant un écran, et plus de crashs de programmes à ce moment. Par contre un nombre de problèmes restent.

Problème d’affichage du texte dans Visual Studio Code sur Kubuntu 16.04? Changez de police!

Après la mise à jour de Kubuntu 15.10 à la version 16.04, le texte avait une sale tronche: il était plus sombre et avait l’air moins précis.

En fait cela venait du fait que la police par défaut était devenue « Courier New ». La solution, qui n’avait rien à voir avec la couleur du texte (!), a été de modifier le fichier de réglages (menu Fichier / Préférences / Paramètres utilisateur) en rajoutant un entrée comme:

"editor.fontFamily": "Liberation Mono"
"editor.fontFamily": "Oxygen Mono"

J’ai galéré pour trouver pourquoi cela ne touchait que Kubuntu 16.04 (que ce soit sous KDE ou XFCE), et pas Ubuntu 16.04 (sous Unity) ou Ubuntu 15.10 (sous KDE): grâce à des VM j’avais comparé (avec « strace ») les différents fichiers chargés par vscode, sans réussite: il semblait que les fichiers étaient les même, notamment les fichiers de thème de GTK 2.

En fait, j’aurais pu trouver plus rapidement en utilisant des outils de dev de vscode (ceux de Chromium; on les active dans le menu aide et on les ouvre avec F12): j’aurais pu voir quel était la police utilisée en pratique dans l’éditeur.

Text display issue in Visual Studio Code in Kubuntu 16.04? Change the font!

After upgrading Kubuntu from 15.10 to 16.04, the text really looked ugly: it was darker (even when my theme specified « #ffffff ») and looked imprecise.

In fact, the reason was the default font which was now « Courier New ». The solution, which had nothing to do with the text color (!), was to modify the configuration file (menu File / Preferences / User Settings) by adding an entry like:

"editor.fontFamily": "Liberation Mono"
"editor.fontFamily": "Oxygen Mono"

I struggled to find why it only impacted Kubuntu 16.04 (either KDE and XFCE), and not Ubuntu 16.04 (on Unity) or Ubuntu 15.10 (on KDE): using some VMs I compared (with « strace ») the files loaded by vscode, without any success: it seemed that the files were the same, including the GTK 2 themes.

In fact, I could have found more quickly by using the vscode (Chromium) dev tools (unlock them in the Help menu and press F12): I would have seen which was the font actually used by the editor.

Kagoshima-Yakushima: statistiques 2015 d’annulation des bateaux

Voici les statistiques d’annulation du bateau de Kagoshima (Kyūshū) à l’île de Yakushima de 7h30 pour 2014 et 2015, tirées du site des ferrys. La colonne « Inconnus » correspond au statut « :条件付運航 » que je comprends comme « sous conditions ».

Pour ceux qui y prévoient un séjour, mieux vaut se préparer un plan alternatif (même si les chances d’annulation restent faibles pendant les périodes touristiques).

Mois2014
Annulations
2014
Inconnus
2015
Annulations
2015:
Inconnus
Janvier0202
Février5202
Mars1211
Avril2110
Mai0001
Juin0100
Juillet2024
Août4110
Septembre0001
Octobre5300
Novembre0002
Décembre3204

Benchmark: Athlon x4 620 contre A8-7600

Une petite comparaison de l’entrée de gamme AMD 4 cœurs:

  • de 2009 : Athlon x4 620 (2.6Ghz, 72€), DDR2 PC5300 à 667 Mhz.
  • et de 2015 : A8-7600 (3.1Ghz, 95€, mais avec processeur graphique intégré), DDR3 à 2133 Mhz.

Ancien / Nouveau :

  • Export de photos avec Darktable : -45% (36 min / 19 min 40 s)
  • Rendu/compression de vidéo avec KdeEnlive, 4 threads : -18% (2 min 04 / 1 min 42)
  • Conversion d’un album Flac vers Ogg Vorbis : -8% (36s / 33s)
  • HTML Jetstream, Firefox 42 : +39% de points (80 pts, 101 pts)
  • HTML Kraken 1.1, Firefox 42 : -26% (2905ms / 2159ms)
  • Recompression d’un xml.bz2 en xz : -9% (27.94s / 25.40s)
  • Recompression d’un gros XML en xz : -18% (5 mn 51 / 4 min 47)
  • Programme Java maison traitant un dump Wiki: -23% (31.7 s / 24.5 s)

En 6 ans pas de progrès fabuleux. Par contre c’est sensé consommer 30% moins.