We have automated tests that require runnable Google Chrome. Yet the Google Chrome kept crashing.
The first encountered is:
libGL error: failed to load driver: swrast
libGL error: Try again with LIBGL_DEBUG=verbose for more details.
This one is easy, install
mesa-dri-drivers solved this.
ERROR:sandbox_linux.cc(338)] : InitializeSandbox() called with multiple threads in process gpu-process
My initial guess was SELinux, but journalctl returns nothing about it. After a few hours, I thought, how about firefox? Maybe it helps to set the SELinux and install the missing dependencies? And… Tada, both Firefox and Google Chrome worked. Eventually, I dug out that Google Chrome requires fonts to works. Specifically,
To sum up, following command worked for me:
sudo yum -y install mesa-dri-drivers liberation-fonts-common liberation-sans-fonts
Update for ChromeDriver user
If you are also use ChromeDriver. Be aware that ChromeDriver 2.31 and up requires
libc.so.6(GLIBC_2.18), yet RHEL 7 only provide
mock won’t work with staff_selinux mode in RHEL 7. The instruction from Fedora is mostly correct, but insufficient for staff_selinux. This is because:
/usr/bin/mock is now a sym-link to
/usr/bin/consolehelper, thus consolehelper permission should be also allowed.
- The Fedora mock policy module does not have the types like
There are a lot more reasons, but long story short, I have edited a policy file (PackageMaintainers_MockTricks_mock.te) that should covered the most mock usage. My SELinux skill quickly build up by editing that file. 🙂
Time for script that setup the mock, assuming you are running as root:
# getting dependencies
yum -y install selinux-policy-devel policycoreutils-python mock
# Download policy files
# Build and install
make -f /usr/share/selinux/devel/Makefile
semodule -i PackageMaintainers_MockTricks_mock.pp
But just in case you are still getting SELinux AVC denials, you can get around yourself by using following scripts:
grep -E -e "(mock|consolehelper)" /var/log/audit/audit.log | audit2allow -M my_mock
semodule -i my_mock.pp