Changing to Debian Jessie (now Testing) unveils yet another gdk pixbuf problem, which makes chromium appear in crazy red.
(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 🙂
Hey, thank you very much!