I have a system running Fedora 34 and an Nvidia Quadro P1000 graphics
card. I’m using the Nvidia drivers.
After a recent dnf upgrade, all Chromium based applications, including:
Google Chrome
Brave
Slack
Fail with errors about the GPU. Brave and Chrome say:
ERROR:gpu_process_host.cc(995)] GPU process exited unexpectedly: exit_code=159
ERROR:gpu_init.cc(441)] Passthrough is not supported, GL is disabled
Whereas the slack app reports:
FATAL:gpu_data_manager_impl_private.cc(415)] GPU process isn't usable. Goodbye.
The system is running kernel-5.13.10-200.fc34.x86_64 after the
upgrade, but I’ve tried booting into kernel-5.13.6-200.fc34.x86_64 and kernel-5.13.9-200.fc34.x86_64 and the behavior doesn’t change.
Nothing other than the Chromium-based apps has exhibited a problem so
far.
I’ve tried creating a new user account, logging in as that user, and
launching the browsers, and they still crash, so it doesn’t appear to
be a user setting, either.
I don’t see any related AVC messages in /var/log/audit/audit.log, and
putting selinux in permissive mode doesn’t change the behavior.
I’m not sure what else to check so I’m hoping someone here has some
thoughts.
dnf history info last will show you what’s been updated in last transaction, last-1 in one before it and so on. Maybe some downgrade will help you find the culprit. If not, try reinstalling the driver.
I’ve looked at the dnf history (you can find it here), and nothing there stands out as being a likely source of the problem. By booting an earlier kernel version I’ve also reverted to an earlier version of the drivers, which were working fine as of just a few days ago.
I guess I can try booting with the nouveau driver instead of the Nvidia proprietary driver and see if that changes things.
Rebooting with the nouveau driver instead of the nvidia driver gets me slightly different behavior. Chrome doesn’t crash immediately, but it still reports…
ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
And all the pages display the “Aw, Snap! Something went wrong while displaying this webpage (Error code 159)” error.
So it doesn’t seem to be the video drivers, either.
I decided to try rolling back packages to before the upgrade, but dnf seems to be buggy. Running dnf history rollback 224 (where 224 is the transaction immediately before the dnf ugprade) results in:
Last metadata expiration check: 0:31:34 ago on Thu 19 Aug 2021 10:24:39 PM EDT.
Traceback (most recent call last):
File "/usr/bin/yum", line 58, in <module>
main.user_main(sys.argv[1:], exit_code=True)
File "/usr/lib/python3.9/site-packages/dnf/cli/main.py", line 201, in user_main
errcode = main(args)
File "/usr/lib/python3.9/site-packages/dnf/cli/main.py", line 67, in main
return _main(base, args, cli_class, option_parser_class)
File "/usr/lib/python3.9/site-packages/dnf/cli/main.py", line 106, in _main
return cli_run(cli, base)
File "/usr/lib/python3.9/site-packages/dnf/cli/main.py", line 122, in cli_run
cli.run()
File "/usr/lib/python3.9/site-packages/dnf/cli/cli.py", line 1055, in run
return self.command.run()
File "/usr/lib/python3.9/site-packages/dnf/cli/commands/history.py", line 346, in run
self._hcmd_rollback(tids)
File "/usr/lib/python3.9/site-packages/dnf/cli/commands/history.py", line 212, in _hcmd_rollback
self._revert_transaction(merged_trans)
File "/usr/lib/python3.9/site-packages/dnf/cli/commands/history.py", line 233, in _revert_transaction
ti["action"] = action_map[ti["action"]]
KeyError: 'Reason Change'
I saw Chrome update on your list, but that does not explain issues with Slack and Brave.
If you can’t find anything by searching internet for those errors, try manually downgrading just selinux-policy-34.15-1.fc34 | Build Info | koji
Also see what matches between updated packages and dependencies e.g. dnf -C repoquery --requires brave-browser.
dnf’s rollback/undo often does not work because older packages are no longer in repositories, but that error is worth reporting (using gnome-abrt), it might be caused by third party repositories, though,
This turned out to be a problem with the seccomp sandbox used by Chromium. Recent versions of glibc use the clone3 system call, but this system call wasn’t permitted by the seccomp sandbox. Running the failing code under strace shows: