All chromium-based apps crashing with gpu related messages after recent upgrade

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.

1 Like

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.

1 Like

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:

  2241848 --- SIGSYS {si_signo=SIGSYS, si_code=SYS_SECCOMP, si_errno=EPERM, si_call_addr=0x7fd318cfb2ed, si_syscall=__NR_clone3, si_arch=AUDIT_ARCH_X86_64} ---

Newer versions of the affected packages resolve the problem.