1. Installed Pinta 1.6 on Fedora 21 from source code.
2. Installed all available addins. Four of them threw cryptic error warnings at me (see attached screenshots).
3. Restarted Pinta to see the addins.
4. Pinta refused to start:
$ pinta
(Pinta:24989): GLib-CRITICAL **: Source ID 5 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 4 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 3 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 6 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 9 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 10 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 14 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 13 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 12 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 11 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 16 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 15 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 17 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 19 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 18 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 25 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 24 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 23 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 22 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 21 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 20 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 29 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 28 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 27 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 26 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 33 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 32 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 31 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 30 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 38 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 37 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 36 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 35 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 34 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 39 was not found when attempting to remove it
(Pinta:24989): GLib-CRITICAL **: Source ID 59 was not found when attempting to remove it
Missing method get_CurrentLocalizer in assembly /home/alex/.config/mono.addins/addins/BlockBrush.0.1.1/BlockBrush.dll, type Mono.Addins.AddinManager
System.IO.FileNotFoundException: Could not load file or assembly 'Mono.Addins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies.
File name: 'Mono.Addins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
at Pinta.Core.PaintBrushManager+BrushSorter.Compare (Pinta.Core.BasePaintBrush x, Pinta.Core.BasePaintBrush y) [0x00000] in <filename unknown>:0
at System.Array.qsort[BasePaintBrush,BasePaintBrush] (Pinta.Core.BasePaintBrush[] keys, Pinta.Core.BasePaintBrush[] items, Int32 low0, Int32 high0, IComparer`1 comparer) [0x00000] in <filename unknown>:0
at System.Array.SortImpl[BasePaintBrush,BasePaintBrush] (Pinta.Core.BasePaintBrush[] keys, Pinta.Core.BasePaintBrush[] items, Int32 index, Int32 length, IComparer`1 comparer) [0x00000] in <filename unknown>:0
at System.Array.Sort[BasePaintBrush] (Pinta.Core.BasePaintBrush[] array, Int32 index, Int32 length, IComparer`1 comparer) [0x00000] in <filename unknown>:0
at System.Collections.Generic.List`1[Pinta.Core.BasePaintBrush].Sort (IComparer`1 comparer) [0x00000] in <filename unknown>:0
at Pinta.Core.PaintBrushManager.AddPaintBrush (Pinta.Core.BasePaintBrush paintBrush) [0x00000] in <filename unknown>:0
at BlockBrush.BlockBrushExtension.Initialize () [0x00000] in <filename unknown>:0
at Pinta.MainWindow.OnExtensionChanged (System.Object s, Mono.Addins.ExtensionNodeEventArgs args) [0x00000] in <filename unknown>:0
at Mono.Addins.ExtensionNode.add_ExtensionNodeChanged (Mono.Addins.ExtensionNodeEventHandler value) [0x00000] in <filename unknown>:0
Missing method .ctor in assembly /home/alex/.config/mono.addins/addins/PintaUploadAddin.0.1.1/PintaUploadAddin.dll, type Mono.Addins.AddinDependencyAttribute
Can't find custom attr constructor image: /home/alex/.config/mono.addins/addins/PintaUploadAddin.0.1.1/PintaUploadAddin.dll mtoken: 0x0a000063
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Mono.Addins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies.
File name: 'Mono.Addins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
at System.Reflection.MonoCMethod.Invoke (BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
at System.Reflection.ConstructorInfo.Invoke (System.Object[] parameters) [0x00000] in <filename unknown>:0
at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in <filename unknown>:0
at System.Activator.CreateInstance (System.Type type) [0x00000] in <filename unknown>:0
at Mono.Addins.TypeExtensionNode.CreateInstance () [0x00000] in <filename unknown>:0
at Mono.Addins.InstanceExtensionNode.GetInstance () [0x00000] in <filename unknown>:0
at Mono.Addins.ExtensionNodeEventArgs.get_ExtensionObject () [0x00000] in <filename unknown>:0
at Pinta.MainWindow.OnExtensionChanged (System.Object s, Mono.Addins.ExtensionNodeEventArgs args) [0x00000] in <filename unknown>:0
at Mono.Addins.ExtensionNode.add_ExtensionNodeChanged (Mono.Addins.ExtensionNodeEventHandler value) [0x00000] in <filename unknown>:0
Missing method get_CurrentLocalizer in assembly /home/alex/.config/mono.addins/addins/NightVisionEffect.1.2.1/NightVisionAddin.dll, type Mono.Addins.AddinManager
System.IO.FileNotFoundException: Could not load file or assembly 'Mono.Addins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies.
File name: 'Mono.Addins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
at Pinta.Core.EffectsManager.RegisterEffect (Pinta.Core.BaseEffect effect) [0x00000] in <filename unknown>:0
at NightVisionAddin.NightVisionExtension.Initialize () [0x00000] in <filename unknown>:0
at Pinta.MainWindow.OnExtensionChanged (System.Object s, Mono.Addins.ExtensionNodeEventArgs args) [0x00000] in <filename unknown>:0
at Mono.Addins.ExtensionNode.add_ExtensionNodeChanged (Mono.Addins.ExtensionNodeEventHandler value) [0x00000] in <filename unknown>:0
Missing method get_CurrentLocalizer in assembly /home/alex/.config/mono.addins/addins/GenerateGrid.1.0/GenerateGridAddin.dll, type Mono.Addins.AddinManager
System.IO.FileNotFoundException: Could not load file or assembly 'Mono.Addins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies.
File name: 'Mono.Addins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
at Pinta.Core.EffectsManager.RegisterEffect (Pinta.Core.BaseEffect effect) [0x00000] in <filename unknown>:0
at GenerateGridAddin.GenerateGridAddin.Initialize () [0x00000] in <filename unknown>:0
at Pinta.MainWindow.OnExtensionChanged (System.Object s, Mono.Addins.ExtensionNodeEventArgs args) [0x00000] in <filename unknown>:0
at Mono.Addins.ExtensionNode.add_ExtensionNodeChanged (Mono.Addins.ExtensionNodeEventHandler value) [0x00000] in <filename unknown>:0
Missing method get_CurrentLocalizer in assembly /home/alex/.config/mono.addins/addins/BlockBrush.0.1.1/BlockBrush.dll, type Mono.Addins.AddinManager
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Mono.Addins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies.
File name: 'Mono.Addins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
at Pinta.Tools.PaintBrushTool.RebuildBrushComboBox () [0x00000] in <filename unknown>:0
at Pinta.Tools.PaintBrushTool.OnBuildToolBar (Gtk.Toolbar tb) [0x00000] in <filename unknown>:0
at Pinta.Core.BaseTool.DoBuildToolBar (Gtk.Toolbar tb) [0x00000] in <filename unknown>:0
at Pinta.Core.ToolManager.SetCurrentTool (Pinta.Core.BaseTool tool) [0x00000] in <filename unknown>:0
at Pinta.Core.ToolManager.SetCurrentTool (System.String tool) [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.IO.FileNotFoundException: Could not load file or assembly 'Mono.Addins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies.
File name: 'Mono.Addins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
at Pinta.Tools.PaintBrushTool.RebuildBrushComboBox () [0x00000] in <filename unknown>:0
at Pinta.Tools.PaintBrushTool.OnBuildToolBar (Gtk.Toolbar tb) [0x00000] in <filename unknown>:0
at Pinta.Core.BaseTool.DoBuildToolBar (Gtk.Toolbar tb) [0x00000] in <filename unknown>:0
at Pinta.Core.ToolManager.SetCurrentTool (Pinta.Core.BaseTool tool) [0x00000] in <filename unknown>:0
at Pinta.Core.ToolManager.SetCurrentTool (System.String tool) [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
I solved this by removing the contents of ~/.config/mono.addins/addins/, but seriously, if I didn't run Pinta from terminal, I wouldn't even be able to tell, why Pinta doesn't launch.
Can't you make it drop faulty plugins at startup, keep running, and notify the user about newly discovered issues in a human language?
Looks like the immediate problem is caused by the add-ins being built against Mono.Addins 1.0, and it not being available on your Fedora system despite being released in 2012. Pinta gets built against whatever's installed on your system, but since the add-ins are prebuilt on someone else's computer they're built against what they have running. (Debian/Ubuntu has Mono.Addins 1.0, the newest version is 1.2) I'm not sure if there's any easy fixes here.
The other side of it is what happens when they fail to install and/or load properly. This should of course be handled better. I'm not sure if we can fix this in our code alone, or if things also need to be changed in Mono.Addins upstream, since it provides all the installation facilities. Which obviously would be a (somehwat ironic) problem since the direct cause of your issues is an unupdated Mono.Addins.