Мы используем Chrome / Chromium headless для захвата экрана.
(Неожиданно) Chrome отказывается запускаться.
strace показывает эту ошибку:
The setuid sandbox is not running as root. Common causes:
* An unprivileged process using ptrace on it, like a debugger.
* A parent process set prctl(PR_SET_NO_NEW_PRIVS, ...)
Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted
Failed to generate minidump.Illegal instruction
Ошибка одинакова для Google Chrome (нестабильный) и Chromium.
Разрешения файла для двоичного файла chrome-sandbox должны быть (setid root):
grabber@mail:/opt/google/chrome$ ./google-chrome --version
Google Chrome 76.0.3809.87
grabber@mail:/opt/google/chrome$ ls -la *sandbox*
-rwsr-xr-x 1 root root 227856 Jul 28 10:19 chrome-sandbox
Версия ОС - VERSION = "16.04.6 LTS (Xenial Xerus)".
Обходной путь, вероятно, будет использовать --no-sandbox
но мне интересно, что еще может вызвать (внезапную) проблему?
Запуск google-chrome от имени пользователя root:
[32718:32718:0807/061610.314297:ERROR:zygote_host_impl_linux.cc(89)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
root@mail:~# /opt/google/chrome/google-chrome --no-sandbox
root@mail:~# [0807/061615.230679:ERROR:nacl_helper_linux.cc(310)] NaCl helper process running without a sandbox!
Most likely you need to configure your SUID sandbox correctly