[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GTK can't load images



On 2020-11-11 at 06:12, Malte Marwedel wrote:

> Hello,
> since recently, several applications (firefox, pavucontrol, pidgin...) 
> fail to load images with gtk.
> This happens when logging in as different user too, so its unlikely this 
> is a setting in the ~ directory.
> The error message is as following:
> 
> $ pavucontrol
> 
> (process:13818): Gtk-WARNING **: 11:47:10.492: Locale not supported by C 
> library.
>          Using the fallback 'C' locale.
> 
> (pavucontrol:13818): Gtk-WARNING **: 11:47:10.592: Could not load a 
> pixbuf from icon theme.
> This may indicate that pixbuf loaders or the mime database could not be 
> found.
> **
> Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: 
> assertion failed (error == NULL): Failed to load 
> /usr/share/icons/Adwaita/16x16/status/image-missing.png: Unrecognized 
> image file format (gdk-pixbuf-error-quark, 3)
> Abgebrochen

At a glance, this doesn't look like it means the program thinks the file
isn't present, but that it thinks the file is in an invalid format.

Have you confirmed that this file is in fact a valid PNG, and can be
opened and displayed correctly?

If it is, then I would suspect that something about GTK's ability to
recognize and load that file format has become broken. The error
messages from your compilation attempt seem to support that idea.

> After googling the error for two hours but don't finding any working 
> solution. I started to dig the problem down.
> Lucily, I had already build gtk+3.0-3.24.5 myself before (reason: 
> https://superuser.com/questions/1033414/how-to-disable-gtkfilechooserdialog-search), 
> so I have debug symbols there

<snip>

> gdk_pixbuf_new_from_stream is returning NULL. Unfortunately there are no 
> debug symbols in Debian for libgdk_pixbuf.

Are you sure?

$ apt-cache search libgdk-pixbuf | grep dbgsym
libgdk-pixbuf2.0-0-dbgsym - debug symbols for libgdk-pixbuf2.0-0
libgdk-pixbuf2.0-bin-dbgsym - debug symbols for libgdk-pixbuf2.0-bin

Admittedly it's not present by default; you have to add the appropriate
debug repository, then run 'apt-get update'. I have three of them
defined, but two of them commented out, so only one available in practice.

$ apt-cache policy libgdk-pixbuf2.0.0-dbgsym
libgdk-pixbuf2.0-0-dbgsym:
  Installed: (none)
  Candidate: 2.40.0+dfsg-5
  Version table:
     2.40.0+dfsg-5 500
        500 http://debug.mirrors.debian.org/debian-debug
testing-debug/main amd64 Packages

$ grep .-debug /etc/apt/sources.list
#deb http://debug.mirrors.debian.org/debian-debug/ stable-debug main
non-free contrib
deb http://debug.mirrors.debian.org/debian-debug/ testing-debug main
non-free contrib
#deb http://debug.mirrors.debian.org/debian-debug/ unstable-debug main
non-free contrib

-- 
   The Wanderer

The reasonable man adapts himself to the world; the unreasonable one
persists in trying to adapt the world to himself. Therefore all
progress depends on the unreasonable man.         -- George Bernard Shaw

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: