Changing to Debian Jessie (now Testing) unveils yet another gdk pixbuf problem, which makes chromium appear in crazy red.

chromium_gdk_pixbuf_problem

(gtk-update-icon-cache:23638): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file '/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory

This likely means that your installation is broken.
Try running the command
  gdk-pixbuf-query-loaders > /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache
to make things work again for the time being.

The debian packages actually try to invoke gdk-pixbuf-query-loaders, but that only generates a 0 byte loaders.cache file.

Analysing this on chromium itsself clearly leads into the gdk-pixbuf issue. Tested with google chrome too – the exact same behaviour.

$ chromium --enable-logging --v=1

(chromium:16251): GdkPixbuf-CRITICAL **: gdk_pixbuf_copy: assertion `GDK_IS_PIXBUF (pixbuf)' failed
[16251:16251:0527/220258:ERROR:browser_main_loop.cc(185)] GLib-GObject: g_object_unref: assertion `G_IS_OBJECT (object)' failed
(chromium:16251): GdkPixbuf-CRITICAL **: gdk_pixbuf_copy: assertion `GDK_IS_PIXBUF (pixbuf)' failed
[16251:16251:0527/220258:ERROR:browser_main_loop.cc(185)] GLib-GObject: g_object_unref: assertion `G_IS_OBJECT (object)' failed
(chromium:16251): GdkPixbuf-CRITICAL **: gdk_pixbuf_copy: assertion `GDK_IS_PIXBUF (pixbuf)' failed
[16251:16251:0527/220258:ERROR:browser_main_loop.cc(185)] GLib-GObject: g_object_unref: assertion `G_IS_OBJECT (object)' failed
[16251:16251:0527/220258:ERROR:browser_main_loop.cc(185)] GLib-GObject: g_object_ref: assertion `G_IS_OBJECT (object)' failed
[16251:16251:0527/220258:ERROR:browser_main_loop.cc(185)] GLib-GObject: g_object_ref: assertion `G_IS_OBJECT (object)' failed
[16251:16251:0527/220258:ERROR:browser_main_loop.cc(185)] GLib-GObject: g_object_ref: assertion `G_IS_OBJECT (object)' failed
[16251:16251:0527/220258:ERROR:browser_main_loop.cc(185)] Gdk: IA__gdk_window_set_icon_list: assertion `GDK_IS_PIXBUF (pixbuf)' failed
(chromium:16251): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion `GDK_IS_PIXBUF (pixbuf)' failed
(chromium:16251): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion `GDK_IS_PIXBUF (pixbuf)' failed
(chromium:16251): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion `GDK_IS_PIXBUF (pixbuf)' failed
(chromium:16251): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion `GDK_IS_PIXBUF (pixbuf)' failed
(chromium:16251): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion `GDK_IS_PIXBUF (pixbuf)' failed
(chromium:16251): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion `GDK_IS_PIXBUF (pixbuf)' failed
[16251:16251:0527/220258:ERROR:browser_main_loop.cc(185)] GLib-GObject: g_object_unref: assertion `G_IS_OBJECT (object)' failed
[16251:16251:0527/220258:ERROR:browser_main_loop.cc(185)] GLib-GObject: g_object_unref: assertion `G_IS_OBJECT (object)' failed
[16251:16251:0527/220258:ERROR:browser_main_loop.cc(185)] GLib-GObject: g_object_unref: assertion `G_IS_OBJECT (object)' failed
[16251:16251:0527/220258:ERROR:image.cc(58)] Unable to decode PNG.
[16251:16251:0527/220258:ERROR:image.cc(58)] Unable to decode PNG.

That script is shipped with libgdk-pixbuf2.0-dev which isn’t installable on amd64 currently, depending on libx11-dev which got unresolved dependencies (the deb7u1 contains a critical cve fix coming from wheezy-security).

libx11-dev depends on libx11-6 (= 2:1.5.0-1) but 2:1.5.0-1+deb7u1 should be installed.

The funny thing – manually downloading the deb unveils that gdk-pixbuf-query-loaders is just a symlink to /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders

$ mkdir tmp
$ wget http://ftp.de.debian.org/debian/pool/main/g/gdk-pixbuf/libgdk-pixbuf2.0-dev_2.28.1-1_amd64.deb
$ dpkg -x libgdk-pixbuf2.0-dev_2.28.1-1_amd64.deb tmp/
$ cd tmp/
$ ls -la usr/bin/
insgesamt 36K
drwxr-xr-x 2 michi michi 4,0K Mai 27 22:25 ./
drwxr-xr-x 6 michi michi 4,0K Mai  9 02:02 ../
-rwxr-xr-x 1 michi michi  11K Mai  9 02:02 gdk-pixbuf-csource*
-rwxr-xr-x 1 michi michi  11K Mai  9 02:02 gdk-pixbuf-pixdata*
lrwxrwxrwx 1 michi michi   63 Mai  9 02:02 gdk-pixbuf-query-loaders -> ../lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders

So, we actually got that binary already installed with libgdk-pixbuf2.0-0 and can even regenerate the cache ourselves.

# /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders > /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache
# ls -la /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache
-rw-r--r-- 1 root root 4,5K Mai 27 22:28 /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache

Voilà, chromium fixed again 🙂

chromium_gdk_pixbuf_problem_fixed

%d bloggers like this: