LINUX.ORG.RU

firefox под firejail'ом рандомно крашится

 , , ,


1

1
$ for p in {firefox,firejail,nvidia-drivers}; do eix -I $p | grep -E "\[I\]|In"; echo; done

[I] www-client/firefox
     Installed versions:  59.0.2^d[1](03:08:27 21.04.2018)(custom-cflags dbus eme-free hardened hwaccel pulseaudio screenshot -bindist -custom-optimization -debug -gmp-autoupdate -jack -neon -selinux -startup-notification -system-harfbuzz -system-icu -system-jpeg -system-libevent -system-libvpx -system-sqlite -test -wifi L10N="ru -ach -af -an -ar -as -ast -az -bg -bn-BD -bn-IN -br -bs -ca -cak -cs -cy -da -de -dsb -el -en-GB -en-ZA -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mai -mk -ml -mr -ms -nb -nl -nn -or -pa -pl -pt-BR -pt-PT -rm -ro -si -sk -sl -son -sq -sr -sv -ta -te -th -tr -uk -uz -vi -xh -zh-CN -zh-TW")

[I] sys-apps/firejail
     Installed versions:  0.9.52^t(10:34:26 04.05.2018)(bind chroot file-transfer network network-restricted seccomp userns x11 -apparmor -contrib)

[I] x11-drivers/nvidia-drivers
     Installed versions:  396.18-r1(0/396)^md(13:46:31 29.04.2018)(X acpi driver kms multilib tools uvm -compat -gtk3 -pax_kernel -static-libs -wayland ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32" KERNEL="linux -FreeBSD")

/etc/firejail/firefox.profile

caps.drop all
# machine-id breaks pulse audio; it should work fine in setups where sound is not required
#machine-id
netfilter
nodvd
nogroups
nonewprivs
noroot
notv
protocol unix,inet,inet6,netlink
seccomp
shell none
tracelog

disable-mnt
private-dev
private-tmp

noexec ${HOME}
noexec /tmp

Рандомно вылетает с таким логом:

Crash Annotation GraphicsCriticalError: |[0][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=0.372391) |[1][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=152.096) |[2][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=198.388) [GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT

(firefox:7): Gdk-ERROR **: The program 'firefox' received an X Window System error.
This probably reflects a bug in the program.
The error was 'GLXBadContext'.
  (Details: serial 84490 error_code 168 request_code 153 (GLX) minor_code 4)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Parent is shutting down, bye...

Гугление пока не принесло результатов. Хелп.


выключил аппаратное ускорение, полет пока нормальный, но до последнего вылета всё было стабильно больше часа, поэтому хз...

driver
() автор топика
Ответ на: комментарий от driver

облом. только что крашнулся при добавлении сайта в закладки, повторно спровоцировать это не удается, тот же сайт, то же действие - ничего не крашится.

driver
() автор топика

To debug your program, run it with the GDK_SYNCHRONIZE

заюзано?

зы заметил с последней nvidia blob фф тупит до повторной пересборки нвидиадрайверз

deity ★★★★
()
Последнее исправление: deity (всего исправлений: 1)
Ответ на: комментарий от deity

заюзано?

сейчас тестирую вот так:

GDK_SYNCHRONIZE=1 firejail --debug /usr/bin/firefox
выхлоп очень детальный, но как назло ничего не крашится

+ до этого обновил лису, но это не помогло

=www-client/firefox-60.0_beta14::mozilla

Crash Annotation GraphicsCriticalError: |[0][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=0.51155) |[1][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=24.2282) |[2][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=27.0687) |[3][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=31.4767) |[4][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=39.948) [GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT Crash Annotation GraphicsCriticalError: |[0][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=0.51155) |[1][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=24.2282) |[2][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=27.0687) |[3][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=31.4767) |[4][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=39.948) |[5][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=59.5513) [GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT Crash Annotation GraphicsCriticalError: |[0][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=0.51155) |[1][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=24.2282) |[2][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=27.0687) |[3][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=31.4767) |[4][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=39.948) |[5][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=59.5513) |[6][GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT (t=90.6233) [GFX1-]: [OPENGL] Failed to init compositor with reason: FEATURE_FAILURE_OPENGL_CREATE_CONTEXT

пока что попробую поиграться с версией нвидии

driver
() автор топика
Ответ на: комментарий от driver

как назло ничего не крашится

~3 часа не единого падения, чудеса... буду теперь жить под дебагом

driver
() автор топика

Итак. Запуск с GDK_SYNCHRONIZE=1 предотвращает падения, но в качестве решения не годится, ибо

If set, GDK makes all X requests synchronously. This is a useful option for debugging, but it will slow down the performance considerably.

Как оказалось, сообщения вида

Crash Annotation GraphicsCriticalError: бла бла бла...

...не имеют отношения к падению, зато в /var/log/messages сыплется такое:

May  5 16:14:10 workstation kernel: traps: firefox[7843] trap int3 ip:7f13ea627f91 sp:7ffd276a44c0 error:0 in libglib-2.0.so.0.5200.3[7f13ea5d8000+111000]
May  5 16:14:10 workstation kernel: Chrome_~dThread[7979]: segfault at 0 ip 00007f975fc32813 sp 00007f975d36eb00 error 6 in libxul.so[7f975f71b000+56c8000]
May  5 16:14:10 workstation kernel: Chrome_~dThread[7895]: segfault at 0 ip 00007fa3c9e32813 sp 00007fa3c756eb00 error 6 in libxul.so[7fa3c991b000+56c8000]

nvidia-drivers пока не трогал, но сейчас заметил апдейт gentoo-sources, поэтому апдейтну мир, ядрышко и заодно придется пересобрать нвидиевский блоб

driver
() автор топика

Не помогло:

  • выключение аппаратного ускорения
  • отключение всех аддонов
  • создание нового профиля firefox (вообще без аддонов)
  • обновление с =www-client/firefox-59.0.2 до =www-client/firefox-60.0_beta14
  • пересборка =x11-drivers/nvidia-drivers-396.18-r1
  • обновление ядра до =sys-kernel/gentoo-sources-4.16.7 и последующая пересборка nvidia-drivers
  • переход на стабильную ветку =x11-drivers/nvidia-drivers-390.42, что потребовало отката до =sys-kernel/gentoo-sources-4.9.95

Помогло:

  • GDK_SYNCHRONIZE=1
  • запуск без firejail

Есть тут спецы по рандомным сегфолтам? Может быть, есть менее костыльная альтернатива firejail? (намучился с ним и без firefox...)

driver
() автор топика
Ответ на: комментарий от driver

Алсо рассмотрю вариант замены firefox, только вот хз как жить без аддонов. В данный момент пользуюсь:

  • NoScript
  • Policy Control
  • Privacy Badger
  • Privacy Settings
  • uBlock Origin
  • HTTPS Everywhere
  • google-no-tracking-url
  • CanvasBlocker

С другой стороны, если браузер не будет напичкан зондами, то и надобность в большей части этих аддонов отпадет.

driver
() автор топика

Проблему удалось решить. Всему виной была опция nogroups в firefox.profile

man firejail

--nogroups
    Disable supplementary groups. Without this option,
    supplementary groups are enabled for the user starting the
    sandbox.

Соответственно дропалась группа video, из-за чего страдало аппаратное ускорение и поэтому сыпались «Crash Annotation GraphicsCriticalError», которые со временем приводили к сегфолту:

void nsWindow::SetHasMappedToplevel(bool)
  void nsWindow::EnsureGrabs(void)
    void nsWindow::GrabPointer(unsigned int)
      gdk_pointer_grab() <------------------ тут

driver
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.