Bug 250668

Summary: www/chromium needs devel/gsettings-desktop-schemas
Product: Ports & Packages Reporter: Flemming Jacobsen <fj>
Component: Individual Port(s)Assignee: Graham Perrin <grahamperrin>
Status: Closed Unable to Reproduce    
Severity: Affects Only Me CC: chromium, desktop, grahamperrin, lwhsu
Priority: --- Keywords: crash
Version: Latest   
Hardware: amd64   
OS: Any   
URL: https://www.freshports.org/www/chromium/

Description Flemming Jacobsen 2020-10-27 10:07:44 UTC
I recently migrated chromium to its own jail (for security reasons). Wanting to keep the jail slim, I only installed what I felt was really needed.

When doing 'save image as', chrome crashed. I tracked this down to the package gsettings-desktop-schemas not being installed.

After installing it, chrome longer crashes with:
(chrome:60724): Gtk-WARNING **: 08:10:31.293: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
**
Gtk:ERROR:gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/local/share/icons/Adwaita/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Bail out! Gtk:ERROR:gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/local/share/icons/Adwaita/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Abort trap


I suggest that you add devel/gsettings-desktop-schemas to the list of required packages for chromium.

Software:
12.1-RELEASE-p10 (both host and jail)
chromium-84.0.4147.135 (installed via 'pkg install')


Regards,
Flemming
Comment 1 Graham Perrin freebsd_committer freebsd_triage 2023-01-02 13:09:12 UTC
<https://www.freshports.org/www/chromium/#requiredlib>

> libgtk-3.so : x11-toolkits/gtk30

<https://www.freshports.org/x11-toolkits/gtk30/#requiredrun>

> gsettings-desktop-schemas>=0 : devel/gsettings-desktop-schemas

<https://cgit.freebsd.org/ports/tree/www/chromium/Makefile>

> USE_GNOME=	atk dconf gdkpixbuf2 glib20 gtk30 libxml2 libxslt

The gtk30 part of that line was added more than five years ago: <https://github.com/freebsd/freebsd-ports/commit/8d28aa8db0c717bef863b7a7630f48cf3870ffb1#diff-0d6c905a8689ea7cf05ed41e3f5c6af8a2b09103c6f54c1fd7499ffd2a803b3cR68>. 

----

(In reply to Flemming Jacobsen from comment #0)

> … When doing 'save image as', chrome crashed. I tracked this down 
> to the package gsettings-desktop-schemas not being installed. …

Not reproducible here; no crash. 

After the test, I allowed reinstallation of the package: 

root@fuji:~ # pkg info -x chromium 
chromium-108.0.5359.124
root@fuji:~ # pkg check -d
Checking all packages: 100%
glib-networking has a missing dependency: gsettings-desktop-schemas
gtk3 has a missing dependency: gsettings-desktop-schemas
gtk4 has a missing dependency: gsettings-desktop-schemas
plasma5-kde-gtk-config has a missing dependency: gsettings-desktop-schemas

>>> Missing package dependencies were detected.
>>> Found 1 issue(s) in the package database.

The following packages will be installed:

New packages to be INSTALLED:
        gsettings-desktop-schemas: 42.0 [FreeBSD]

Number of packages to be installed: 1

The process will require 5 MiB more space.
605 KiB to be downloaded.

>>> Try to fix the missing dependencies? [y/N]: y
[1/1] Fetching gsettings-desktop-schemas-42.0.pkg: 100%  605 KiB 620.0kB/s    00:01    
Checking integrity... done (0 conflicting)
[1/1167] Installing gsettings-desktop-schemas-42.0...
[1/1167] Extracting gsettings-desktop-schemas-42.0: 100%
Compiling glib schemas
>>> Summary of actions performed:

gsettings-desktop-schemas dependency has been fixed

>>> Missing dependencies were fixed successfully.
root@fuji:~ # freebsd-version -kru ; uname -aKU
13.1-RELEASE-p3
13.1-RELEASE-p3
13.1-RELEASE-p5
FreeBSD fuji 13.1-RELEASE-p3 FreeBSD 13.1-RELEASE-p3 GENERIC amd64 1301000 1301000
root@fuji:~ # pkg -vv | grep -e url -e enabled -e priority
    url             : "pkg+http://pkg0.bme.freebsd.org/FreeBSD:13:amd64/latest",
    enabled         : yes,
    priority        : 4,
    url             : "file:///usr/local/poudriere/data/packages/thirteen-default",
    enabled         : yes,
    priority        : 3
root@fuji:~ #