[sisyphus] firefox or how to be red-eyed
Alexey Gladkov
legion на altlinux.ru
Пн Ноя 4 00:47:49 MSK 2019
Приветствую!
Недавно я убил несколько дней на расследование почему у меня новый firefox
перешёл полурабочее состояние. Чтобы вы поняли масштаб развала симптомы
были: firefox грузился, страницы нормально, но в urlbar не работает
autocompletion, автоматическая подстановка http(s)?:// к домену, поиск из
urlbar тоже не работает ... возможно что-то ещё.
Расследование завело довольно глубоко.
Поиск не работал из-за того, что firefox не мог определить локаль системы.
В about:support было:
Application Settings
Requested Locales ["ru-RU"]
Available Locales ["en-US"]
App Locales ["und","en-US"]
Regional Preferences ["und","en-US"]
Default Locale "und"
Operating System
System Locales ["ru-RU"]
Regional Preferences ["ru-RU"]
Это приводило к тому, что firefox не видел ни одного поискового движка и
не мог ничего искать.
Ключевым моментом стали редкие сообщения в логе firefox:
Unix error 0 during operation makeDir on file /path/to/something (No
error information)
Правда они бывают не только про makeDir, но и про другие файловые
операции. Об этом нужно иногда догадываться т.к. операция может быть
DirectoryIterator или move. В этом сообщении 0 это errno.
А теперь собственно причина:
В модуле, который является мостом между JavaScript и libc сделано
следующее[1]:
// Open libc
var libc = new SharedAll.Library(
"libc",
"libc.so",
"libSystem.B.dylib",
"a.out"
);
На машине:
$ l /lib*/libc.so*
lrwxrwxrwx 1 root root 12 окт 10 17:46 /lib64/libc.so.6 -> libc-2.27.so
lrwxrwxrwx 1 root root 18 апр 28 2015 /lib64/libc.so.1 -> libc-musl-1.1.3.so
Если удалить пакет musl, то firefox "волшебным" образом начинает работать.
На эту особенность наступают периодически в разное время в разных
дистрибутивах. Симптомы, которые я наблюдал, упоминаются в разных
багзиллах и разных багах[2] мозиллы.
[1] https://hg.mozilla.org/releases/mozilla-release/file/tip/toolkit/components/osfile/modules/osfile_unix_allthreads.jsm#l48
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1042134#c31
--
Rgrds, legion
Подробная информация о списке рассылки Sisyphus