Package missing dependency "gnome-icon-theme-full" (Affects KDE)

Bug #879043 reported by Ruben van Os on 2011-10-20
26
This bug affects 6 people
Affects Status Importance Assigned to Milestone
Pinta
High
Cameron White

Bug Description

Whenever Pinta is started (no matter the action, opening a file with it or just starting the program from the launcher) it shortly creates a window with titlebar for itself and an entry on the Task Manager and crashes before loading anything. This bug started appearing after upgrading to Kubuntu 11.10. Pinta worked without any issues under Kubuntu 11.04.

Output:
ruben@ruben-MS-7379VP:~$ pinta
Gtk-Message: Failed to load module "canberra-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"
GLib.GException: Icon 'gtk-dialog-error' not present in theme
  at Gtk.IconTheme.LoadIcon (System.String icon_name, Int32 size, IconLookupFlags flags) [0x00000] in <filename unknown>:0
  at Pinta.ErrorDialog.Build () [0x00000] in <filename unknown>:0
  at Pinta.ErrorDialog..ctor (Gtk.Window parent) [0x00000] in <filename unknown>:0
  at Pinta.MainClass.ExceptionManager_UnhandledException (GLib.UnhandledExceptionArgs args) [0x00000] in <filename unknown>:0
  at GLib.ExceptionManager.RaiseUnhandledException (System.Exception e, Boolean is_terminal) [0x00000] in <filename unknown>:0
Cairo.Context: called from finalization thread, programmer is missing a call to Dispose

How to reproduce:
1. Install Kubuntu 11.10
2. Start Pinta

Expected result:
Pinta starts

Actual result:
Pinta crashes silently

System information:
OS: Kubuntu 11.10
Pinta version: 1.0-3 (Official repository)

Possible cause:
Lack of GTK3 support in Kubuntu 11.10

What I have tried to fix this problem:
Reinstalling, purging.

Installing "gnome-icon-theme-full" fixed the problem.
The following lines are still shown on the terminal, but don't seem to cause any issues:
Gtk-Message: Failed to load module "canberra-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"

(Sorry for the mess, Pinta developers. I am pretty new to this Launchpad bug reporting stuff so I hope I'm not accidentally causing you to get 20 or so mails)

description: updated
Cameron White (cameronwhite91) wrote :

Is there any output if you try to launch Pinta from the terminal??

Also, note that some people have had issues with missing icons on Kubuntu (see issue #785034), so that could possibly be the problem.

Ruben van Os (rubenvanos) wrote :

My apologies, I knew I forgot about something.

Well, I added the output to the description.

Also, after reading the other bug report, installing "gnome-icon-theme-full" fixed the issue. Pinta now starts without any issues. Perhaps label gnome-icon-theme-full as a dependency? Not sure how much you can still do if it's already in the Ubuntu Software Centre.

description: updated
description: updated
description: updated
Robert Nordan (rpvn) wrote :

I've had at least on other confirmation of this behaviour (from the Pinta Facebook page), so it looks like this is something we need to look into in the packaging.

summary: - Pinta always crashes on Kubuntu 11.10
+ Package missing dependency "gnome-icon-theme-full" (Affects KDE)
Changed in pinta:
importance: Undecided → High
status: New → Confirmed
Iain Lane (laney) wrote :

Can you try installing librsvg2-common (and /not/ having gnome-icon-theme-full installed), please?

You should have humanity-icon-theme installed (it is a dependency of gnome-icon-theme), and…

(precise-amd64)root@raleigh:/srv/home/laney/dev/debian/packaging/pkg-cli-apps/pinta# dpkg -L humanity-icon-theme | grep gtk-dialog-error
/usr/share/icons/Humanity/status/64/gtk-dialog-error.svg
/usr/share/icons/Humanity/status/16/gtk-dialog-error.svg
/usr/share/icons/Humanity/status/48/gtk-dialog-error.svg
/usr/share/icons/Humanity/status/128/gtk-dialog-error.svg
/usr/share/icons/Humanity/status/24/gtk-dialog-error.svg
/usr/share/icons/Humanity/status/22/gtk-dialog-error.svg
/usr/share/icons/Humanity/status/32/gtk-dialog-error.svg

Ruben van Os (rubenvanos) wrote :

@#4

I tried removing gnome-icon-theme-full, and just keeping librsvg2-common and humanity-icon-theme, but the issue still appears until I install gnome-icon-theme-full again.

I am unsure what you want me to do with that command, so I cannot assist you further there.

Iain Lane (laney) wrote :

Nothing. I was just demonstrating that humanity has the icons.

Iain Lane (laney) wrote :

BTW I think Pinta should be catching this exception and returning an "icon not found" icon in this case; it should not crash.

I don't know why the SVG icons cannot be loaded. Insights welcome...

Robert Nordan (rpvn) wrote :

A user on the mailing list recently reported that this sort of error showed up with the oxygen-gtk theme, but not the Sonar or Raleigh themes on OpenSUSE. There is a possibility that there might be a problem with certain themes, and that the error message about the icon missing in the theme is in fact correct.

webmarwell (webmarwell) wrote :
Download full text (4.2 KiB)

Same problem here on Kubuntu 11.10 KDE 4.8.1 and Pinta 1.1., no matter if I use oxygen-gtk or any other theme.

Installing gnome-icon-theme-full solved the problem. No more errors in the terminal. But I didn't use Pinta for half a year, as other things has been more important. Just because this...

So this just for documentation, starting with my standard KDE:

m@m:~$ pinta
GLib.GException: Symbol »gtk-dialog-error« nicht im Thema vorhanden
  at Gtk.IconTheme.LoadIcon (System.String icon_name, Int32 size, IconLookupFlags flags) [0x00000] in <filename unknown>:0
  at Pinta.ErrorDialog.Build () [0x00000] in <filename unknown>:0
  at Pinta.ErrorDialog..ctor (Gtk.Window parent) [0x00000] in <filename unknown>:0
  at Pinta.MainClass.ExceptionManager_UnhandledException (GLib.UnhandledExceptionArgs args) [0x00000] in <filename unknown>:0
  at GLib.ExceptionManager.RaiseUnhandledException (System.Exception e, Boolean is_terminal) [0x00000] in <filename unknown>:0

After installing gtk3-engines-oxygen output in terminal:

m@m:~$ pinta

Unhandled Exception: System.ArgumentException: 'gtk-close' is not a valid resource name of assembly 'Pinta.Resources, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null'.
  at Gdk.PixbufLoader.InitFromAssemblyResource (System.Reflection.Assembly assembly, System.String resource) [0x00000] in <filename unknown>:0
  at Gdk.PixbufLoader..ctor (System.Reflection.Assembly assembly, System.String resource) [0x00000] in <filename unknown>:0
  at Gdk.Pixbuf..ctor (System.Reflection.Assembly assembly, System.String resource) [0x00000] in <filename unknown>:0
  at Gdk.Pixbuf.LoadFromResource (System.String resource) [0x00000] in <filename unknown>:0
  at Pinta.Resources.ResourceLoader.GetIcon (System.String name, Int32 size) [0x00000] in <filename unknown>:0
  at Pinta.ResourceManager.GetIcon (System.String name, Int32 size) [0x00000] in <filename unknown>:0
  at Pinta.ResourceManager.GetIcon (System.String name) [0x00000] in <filename unknown>:0
  at Pinta.Gui.Widgets.OpenImagesListWidget..ctor () [0x00000] in <filename unknown>:0
  at Pinta.OpenImagesPad.Initialize (MonoDevelop.Components.Docking.DockFrame workspace, Gtk.Menu padMenu) [0x00000] in <filename unknown>:0
  at Pinta.MainWindow.CreateDockAndPads (Gtk.HBox container) [0x00000] in <filename unknown>:0
  at Pinta.MainWindow.CreatePanels (Pinta.WindowShell shell) [0x00000] in <filename unknown>:0
  at Pinta.MainWindow.CreateWindow () [0x00000] in <filename unknown>:0
  at Pinta.MainWindow..ctor () [0x00000] in <filename unknown>:0
  at Pinta.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentException: 'gtk-close' is not a valid resource name of assembly 'Pinta.Resources, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null'.
  at Gdk.PixbufLoader.InitFromAssemblyResource (System.Reflection.Assembly assembly, System.String resource) [0x00000] in <filename unknown>:0
  at Gdk.PixbufLoader..ctor (System.Reflection.Assembly assembly, System.String resource) [0x00000] in <filename unknown>:0
  at Gdk.Pixbuf..ctor (System.Reflection.Assembly assembly, System.String resource) [0x000...

Read more...

Malo Deniélou (malo) wrote :

I can confirm the bug with Pinta 1.1 under Mageia 2 (beta 2).
The link to the bug report is https://bugs.mageia.org/show_bug.cgi?id=5362
The gist of it is that Pinta seems to hardcode links to some non-standard gtk icons. Oxygen does not provide them and Pinta wrongfully crashes.

Malo Deniélou (malo) wrote :

I forgot, but the Mageia Bug report has a work around which consists in selecting a different icon theme with kde-settings (and not the gtk one). The crash in Pinta however is definitely something that should be fixed, whatever the selected themes.

Cameron White (cameronwhite91) wrote :

For stock icons, we're just using the constants provided by GTK# - e.g. http://docs.go-mono.com/?link=P%3aGtk.Stock.Close.

When loading an icon, Pinta first checks if the system theme can provide the icon, but otherwise it falls back to Pinta.Resources (which contains any custom icons that we have).

I agree that Pinta should not be crashing, but one would normally assume that standard icons (http://developer.gnome.org/gtk/stable/gtk-Stock-Items.html) are not missing ...

Cameron White (cameronwhite91) wrote :

I've added a check for missing icons in https://github.com/PintaProject/Pinta/commit/c596de0ee62fa284fd9f39d37f12755a48386170, and we now show a "missing image" icon if a stock icon is missing for some reason.

I think this should prevent the crashes mentioned in this bug report. Can someone verify that this indeed fixes the issue?

Robert Nordan (rpvn) on 2012-04-22
Changed in pinta:
status: Confirmed → In Progress
assignee: nobody → Cameron White (cameronwhite91)
Cameron White (cameronwhite91) wrote :

I added a further check so that Pinta still loads if the "missing image" icon is missing (https://github.com/PintaProject/Pinta/commit/4caa940c44415c953f87b9733333c8da3bef185e)

Malo Deniélou (malo) wrote :

thanks Cameron, this fixes the crash.
I however get this in the console, but I don't know if it's related to your patches.
(Pinta:12861): GdkPixbuf-WARNING **: GdkPixbufLoader finalized without calling gdk_pixbuf_loader_close() - this is not allowed. You must explicitly end the data stream to the loader before dropping the last reference.

Cameron White (cameronwhite91) wrote :

Yeah, that warning seems to be caused by these changes. I'll file a separate bug report for that.

Changed in pinta:
milestone: none → 1.3
status: In Progress → Fix Committed
Robert Nordan (rpvn) on 2012-05-01
Changed in pinta:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.