Exception when saving ora on Mac

Bug #1006753 reported by Hauke Duden
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Pinta
Fix Released
High
Cameron White

Bug Description

This is on MacOS 10.7.4 with Mono 2.10.9_11 and Pinta 1.3

Steps to reproduce:

1) Create new blank image
2) Save - choose ORA file format

=> Exception that ICSharpCode.SharpZipLib is not found (see below for trace)

I have checked in /Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/gac/ICSharpCode.SharpZipLib
and I see the following versions of SharpZipLib

2.6.0.0__1b03e6acf1164f73
2.84.0.0__1b03e6acf1164f73
4.84.0.0__1b03e6acf1164f73

Exception trace:

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileNotFoundException: Could not load file or assembly 'ICSharpCode.SharpZipLib, Version=0.84.0.0, Culture=neutral, PublicKeyToken=1b03e6acf1164f73' or one of its dependencies.
File name: 'ICSharpCode.SharpZipLib, Version=0.84.0.0, Culture=neutral, PublicKeyToken=1b03e6acf1164f73'
  at Pinta.Actions.SaveDocumentImplmentationAction.SaveFile (Pinta.Core.Document document, System.String file, Pinta.Core.FormatDescriptor format) [0x00000] in <filename unknown>:0
  at Pinta.Actions.SaveDocumentImplmentationAction.SaveFileAs (Pinta.Core.Document document) [0x00000] in <filename unknown>:0
  at Pinta.Actions.SaveDocumentImplmentationAction.Activated (System.Object sender, Pinta.Core.DocumentCancelEventArgs e) [0x00000] in <filename unknown>:0
  at Pinta.Core.FileActions.RaiseSaveDocument (Pinta.Core.Document document, Boolean saveAs) [0x00000] in <filename unknown>:0
  at Pinta.Core.Document.Save (Boolean saveAs) [0x00000] in <filename unknown>:0
  at Pinta.Actions.SaveDocumentAsAction.Activated (System.Object sender, System.EventArgs e) [0x00000] in <filename unknown>:0
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.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.MonoMethod.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.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
  at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in <filename unknown>:0
  at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in <filename unknown>:0
  at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in <filename unknown>:0
  at GLib.Signal.ClosureInvokedCB (System.Object o, GLib.ClosureInvokedArgs args) [0x00000] in <filename unknown>:0
  at GLib.SignalClosure.Invoke (GLib.ClosureInvokedArgs args) [0x00000] in <filename unknown>:0
  at GLib.SignalClosure.MarshalCallback (IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data) [0x00000] in <filename unknown>:0

Revision history for this message
Robert Nordan (rpvn) wrote :

I checked the reference in the csproj, and it goes like this:
"
<Reference Include="ICSharpCode.SharpZipLib, Version=0.84.0.0, Culture=neutral, PublicKeyToken=1b03e6acf1164f73">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\lib\ICSharpCode.SharpZipLib.dll</HintPath>
    </Reference>
"

So it shouldn't fail because of a version mismatch, and a hintpath is just a hint, it should check the GAC afterwards. I suppose we could try bundling the library with the app, but I'm interested to hear if anyone else has this issue first.

Revision history for this message
Mac Mant (mantur-5) wrote :

Same problem at mine Mac OS X 10.7.4, Mono 2.10.9, Pinta 1.3.
Regarding bug importance - looks like critical - it is impossible to work on project - saving work results in flattening the image.

Robert Nordan (rpvn)
Changed in pinta:
status: New → Confirmed
importance: Undecided → High
milestone: none → 1.4
Revision history for this message
Robert Nordan (rpvn) wrote :

OK, marking this as confirmed. Very strange that it's not being found in the GAC.

As a workaround you can try copying the dll from the GAC location into [The applications folder you installed Pinta into]/Pinta.app/Contents/MacOS/ and seeing if that works.

Revision history for this message
Hauke Duden (h-ns-duden) wrote :

I tried copying the DLL into the app folder and it works!

So it seems that the only problem is that the DLL is not found for some reason.

Revision history for this message
Mac Mant (mantur-5) wrote :

Confirmed - copying dll to [The applications folder you installed Pinta into]/Pinta.app/Contents/MacOS/ solves the problem!
Thanks for workaround.

Revision history for this message
Cameron White (cameronwhite91) wrote :

I think we should probably just go ahead and bundle the dll, since it doesn't look like we're likely to figure out the GAC issues anytime soon and the issue is high priority. I also noticed that older Mac releases of Pinta also bundled the dll (see https://github.com/downloads/PintaProject/Pinta/pinta-1.0.app.zip)

Changed in pinta:
assignee: nobody → Cameron White (cameronwhite91)
Revision history for this message
Cameron White (cameronwhite91) wrote :
Changed in pinta:
status: Confirmed → Fix Committed
grofaty (grofaty)
Changed in pinta:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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