Re: Browsers stopped working

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Sat, 18 May 2024 13:37:50 UTC
Henrik Morsing <henrik@morsing.cc> writes:

> After upgrading to 14, and ironing out some issues, FreeBSD seemed to
> work fine. Until one day, I can't run any browser and just get this:

I can't reproduce in a pristine 14.0-RELEASE jail with either /quarterly
or /latest repos. Nothing in the short log you've provided looks
suspicious enough to break runtime.

Debugging (instead of divining) requires more details:
- exact FreeBSD version and architecture
- complete list of package and versions
- /etc/rc.conf and /etc/sysctl.conf contents
- printenv(1) output
- list of the affected apps (did you even try Firefox?)
- check "tail /var/log/messages" for crashed processes

For example, it's easy to break all Chromium-based browsers by setting
kern.elf64.allow_wx=0 in /etc/sysctl.conf (bug 272221) but this would be
noticible in logs and doesn't seem to affect you.

> [3033:60491753931520:0517/190525.522986:ERROR:bus.cc(407)] Failed to
> connect to the bus: Could not parse server address: Unknown address
> type (examples of valid types are "tcp" and on UNIX "unix")
> [3033:60491808166144:0517/190525.534880:ERROR:object_proxy.cc(576)]
> Failed to call method: org.freedesktop.DBus.Properties.Get:
> object_path= /org/freedesktop/UPower:
> org.freedesktop.DBus.Error.ServiceUnknown: The name
> org.freedesktop.UPower was not provided by any .service files

Battery status in Chromium requires "upower" package and dbus_enable=YES
in /etc/rc.conf. It's optional but at the cost of such noisy warnings.

> ld-elf.so.1: /usr/local/lib/gio/modules/libdconfsettings.so: Undefined
> symbol "g_once_init_enter_pointer"

Likely a unsupported partial upgrade: "glib" was upgraded without "dconf".
Running "pkg upgrade" is usually enough to fix such issues.

"dconf" also needs dbus_enable=YES or at least "dbus-daemon --session".
It's optional but at the cost of some warnings.

> I can't really figure out if it is a DBUS or AMDGPU problem.

Chromium runs fine even without GPU drivers e.g., Xorg with
xf86-video-scfb (UEFI) or xf86-video-vesa (BIOS); or in a jail
with X11/Wayland sockets passed through but /dev/dri/ hidden
and mesa-dri not installed.

To test GPU drivers try running vkcube-xcb from vulkan-tools package.
If it says llvmpipe (software rasterizer) then GPU acceleration
is broken like in https://github.com/freebsd/drm-kmod/issues/175
However, Chromium would probably still run fine.

> Any ideas?

Bisect the upgrade by testing backups then replay from the last good in
order to understand what broke.