Я только что запустил Firefox на своей машине Gentoo, и он вылетел с сообщением
ATTENTION: default value of option force_s3tc_enable overridden by environment.
Теперь, небольшое исследование не дало мне ничего ощутимого, кроме смутного впечатления, что коренная причина этого где-то близко к graphics и mesa. Действительно, greping всего для force_s3tc_enable
hit the few shared object files under /usr/lib/mesa/
. Мое впечатление было еще больше подкрепленоэтотразмещение.
В любом случае, всякий раз, когда я запускаю Firefox, он (a) сразу же вылетает или (b) предлагает мне (b1) запуститься в безопасном режиме просмотра (что работает) или (b2) очистить Firefox (что вылетает). (a) и (b) прекрасно чередуются. Установка переменной окружения с именем force_s3tc_enable
(очевидные варианты true
и false
) не дает никакого заметного эффекта. Я помню, что у меня была похожая проблема с Google Chrome некоторое время назад, но каким-то загадочным образом она исчезла, я не помню никаких подробностей.
Итак... в чем причина проблемы и как ее исправить?
Подробности установки
Система работает на виртуальной машине VMware, где я использую видеодрайвер VMware. Mesa — mesa-12.0.1, а Firefox — firefox-45.4.0. (Дополнительные сведения доступны по запросу, я не хочу выкладывать emerge --info
здесь весь вывод без необходимости.)
решение1
Хорошо, как оказалось, наблюдаемые сбои не имеют ничего общего с сообщением ATTENTION или с mesa. Просто так получилось, что я использую Hardened Gentoo, и поэтому здесь работает защита памяти PAX. После настройки флагов PAX через paxctl-ng -m /usr/lib/firefox/firefox
Firefox все работает как и ожидалось, без сбоев. (Сообщение ATTENTION все еще появляется.)
Извлеченный урок: если вы используете Hardened Gentoo (или, точнее, GrSecurity+PAX) и наблюдаете загадочные сбои, проверьте, не задействован ли PAX (проверьте файлы системного журнала, в которых собираются сообщения ядра), и при необходимости настройте флаги PAX.