0
Need More Information

Version conflict with Ionic.Zip.Dll

Noel Feng 1 month ago updated 5 days ago 10

Hi Ludiq team,


I've bought your Bolt and I have to say it's nice visual scripting plugin. 

However, I am now having an issue with its Ionic.Zip.dll and I really need your help. So I am using PlayFab as well and it came with its own Ionic.Zip.dll and seems it is a different version. I tried to remove the Ionic.Zip with Bolt and it will break Bolt. I also tried to remove the one with PlayFab and both work in the editor but PlayFab stops working on iOS devices. I realized the Ionic.Zip import setting doesn't include iOS which I already set it up but it still doesn't work. So just wondering any idea what's the solution for this?

The attached is my debug screenshot.

Thanks!

Best,
Noel


--
Noel Feng
-----------------------------------------
Unity Developer @ I.D.E.A Inc


Attachments:
2019-10-02 17_13_35-Window.png

Bolt Version:
Unity Version:
Platform(s):
Scripting Backend:
.NET Version (API Compatibility Level):

Hi Ludiq team,

Just wondering is there any update or any idea for this problem?

Thanks,

Noel

Hi Noel,

Sorry you're experiencing this issue and thanks for submitting a bug report. I will be redirecting this issue to our lead developer, in the meantime we need the full stack trace (all other the lines below the first errors) in order to pin-point where the error is coming from. Can you please reproduce the issue on your end and paste the stack trace here?

In addition to this, please make sure you are using the latest version of Bolt - 1.4.7: https://ludiq.io/bolt/download/1.4.7

Best,

Hasan from Ludiq

Hey Hasan,

Thanks for the reply.

So when I Installed Bolt (1.4.7). This error shows up alone with a few similars:

Assets\#CORE\Scripts\Utils\ZipTool.cs(21,21): error CS0433: The type 'ZipFile' exists in both 'Ionic.Zip.Unity, Version=1.9.1.9000, Culture=neutral, PublicKeyToken=null' and 'Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c'

Since we already have an Ionic.zip.dll in our project. So I removed the one in our project originally ( 'Ionic.Zip.Unity, Version=1.9.1.9000, Culture=neutral, PublicKeyToken=null'). No more error shows up in Unity. However, when I build in iOS and run on the device, I got an error due to unable to unzip files, here is the full log for it:

Fri 11 15:07:23.937 RemoteConsole : Console display initialized
Fri 11 15:07:43.208 RemoteConsole : Hello! I'm your app and this is my first message to stderr =)
Fri 11 15:07:43.248 RemoteConsole : CrashReporter: initialized
Fri 11 15:07:43.248 RemoteConsole : -> applicationDidFinishLaunching()
Fri 11 15:07:43.248 RemoteConsole : PlayerConnection initialized from /var/containers/Bundle/Application/193A35D1-CE33-4204-983F-48C220AAE3E3/ovilleworld.app/Data (debug = 0)
Fri 11 15:07:43.257 RemoteConsole : 2019-10-11 15:07:43.546 ovilleworld[281:16144] Built from '2019.2/staging' branch, Version '2019.2.8f1 (ff5b465c8d13)', Build type 'Development', Scripting Backend 'il2cpp'
Fri 11 15:07:43.257 RemoteConsole : 2019-10-11 15:07:43.551 ovilleworld[281:16144] -> registered mono modules 0x102db3ec0
Fri 11 15:07:43.257 RemoteConsole : 2019-10-11 15:07:43.572 ovilleworld[281:16144] PlayerConnection initialized from /var/containers/Bundle/Application/193A35D1-CE33-4204-983F-48C220AAE3E3/ovilleworld.app/Data (debug = 0)
Fri 11 15:07:43.257 RemoteConsole : 2019-10-11 15:07:43.572 ovilleworld[281:16144] PlayerConnection initialized network socket : 0.0.0.0 55000
Fri 11 15:07:43.257 RemoteConsole : 2019-10-11 15:07:43.572 ovilleworld[281:16144] Multi-casting "[IP] 172.20.14.118 [Port] 55000 [Flags] 2 [Guid] 1433638555 [EditorId] 691250655 [Version] 1048832 [Id] iPhonePlayer(IDEA-iPhone-6s):56000 [Debug] 0 [PackageName] iPhonePlayer" to [225.0.0.222:54997]...
Fri 11 15:07:43.257 RemoteConsole : 2019-10-11 15:07:43.572 ovilleworld[281:16144] Started listening to [0.0.0.0:55000]
Fri 11 15:07:43.298 RemoteConsole : PlayerConnection initialized network socket : 0.0.0.0 55000
Fri 11 15:07:43.298 RemoteConsole : Multi-casting "[IP] 172.20.14.118 [Port] 55000 [Flags] 2 [Guid] 1433638555 [EditorId] 691250655 [Version] 1048832 [Id] iPhonePlayer(IDEA-iPhone-6s):56000 [Debug] 0 [PackageName] iPhonePlayer" to [225.0.0.222:54997]...
Fri 11 15:07:43.298 RemoteConsole : Started listening to [0.0.0.0:55000]
Fri 11 15:07:43.337 RemoteConsole : 2019-10-11 15:07:43.661 ovilleworld[281:16144] PlayerConnection already initialized - listening to [0.0.0.0:55000]
Fri 11 15:07:43.358 RemoteConsole : PlayerConnection already initialized - listening to [0.0.0.0:55000]
Fri 11 15:07:43.417 RemoteConsole : 2019-10-11 15:07:43.740 ovilleworld[281:16144] UnityIAP UnityEarlyTransactionObserver: Added to the payment queue
Fri 11 15:07:43.443 RemoteConsole :
Fri 11 15:07:43.443 RemoteConsole : Setting UIViewControllerBasedStatusBarAppearance to NO is no longer supported.
Fri 11 15:07:43.443 RemoteConsole : Apple actively discourages that, and all application-wide methods of changing status bar appearance are deprecated
Fri 11 15:07:43.443 RemoteConsole :
Fri 11 15:07:43.443 RemoteConsole : -> applicationDidBecomeActive()
Fri 11 15:07:43.443 RemoteConsole : [XR] Discovering subsystems at path /var/containers/Bundle/Application/193A35D1-CE33-4204-983F-48C220AAE3E3/ovilleworld.app/Data/UnitySubsystems
Fri 11 15:07:43.518 RemoteConsole : [XR] No descriptors matched for examples in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json.
Fri 11 15:07:43.518 RemoteConsole : [XR] 1 'inputs' descriptors matched in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json
Fri 11 15:07:43.518 RemoteConsole : [XR] No descriptors matched for cameras in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json.
Fri 11 15:07:43.518 RemoteConsole : [XR] No descriptors matched for displays in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json.
Fri 11 15:07:43.518 RemoteConsole : [XR] No descriptors matched for depths in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json.
Fri 11 15:07:43.518 RemoteConsole : [XR] No descriptors matched for meshings in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json.
Fri 11 15:07:43.518 RemoteConsole : [XR] No descriptors matched for planes in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json.
Fri 11 15:07:43.518 RemoteConsole : [XR] No descriptors matched for raycasts in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json.
Fri 11 15:07:43.518 RemoteConsole : [XR] No descriptors matched for referencePoints in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json.
Fri 11 15:07:43.518 RemoteConsole : [XR] No descriptors matched for sessions in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json.
Fri 11 15:07:43.518 RemoteConsole : [XR] No descriptors matched for experience in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json.
Fri 11 15:07:43.518 RemoteConsole : [XR] No descriptors matched for gestures in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json.
Fri 11 15:07:43.518 RemoteConsole : GfxDevice: creating device client; threaded=1
Fri 11 15:07:43.518 RemoteConsole : Initializing Metal device caps: Apple A9 GPU
Fri 11 15:07:43.518 RemoteConsole : Initialize engine version: 2019.2.8f1 (ff5b465c8d13)
Fri 11 15:07:43.697 RemoteConsole : CrashReporter: No pending report exists at /var/mobile/Containers/Data/Application/1D5253FB-2ED8-43CA-AD17-739191723634/Library/Caches/CrashReports/crash-pending.plcrash
Fri 11 15:07:43.798 RemoteConsole : UnloadTime: 0.547167 ms
Fri 11 15:07:43.908 RemoteConsole : Using Facebook Unity SDK v7.16.1 with FBiOSSDK/5.0.2
Fri 11 15:07:43.908 RemoteConsole : Facebook.Unity.CompiledFacebookLoader:Start()
Fri 11 15:07:43.908 RemoteConsole :
Fri 11 15:07:43.908 RemoteConsole : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
Fri 11 15:07:43.908 RemoteConsole :
Fri 11 15:07:43.968 RemoteConsole : [WorldCamera] HUDController component not found.
Fri 11 15:07:43.968 RemoteConsole : Oville.WorldCamera:get_HUD()
Fri 11 15:07:43.968 RemoteConsole : Oville.WorldCamera:calculateHudAspect()
Fri 11 15:07:43.968 RemoteConsole : Oville.WorldCamera:Start()
Fri 11 15:07:43.968 RemoteConsole :
Fri 11 15:07:43.968 RemoteConsole : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
Fri 11 15:07:43.968 RemoteConsole :
Fri 11 15:07:44.028 RemoteConsole : Setting up 1 worker threads for Enlighten.
Fri 11 15:07:44.028 RemoteConsole : Thread -> id: 171167000 -> priority: 1
Fri 11 15:07:44.108 RemoteConsole : https://s3.us-east-2.amazonaws.com/cdn.ovilleworld.com/stage/iOS/201909253/json/manifest.manifest
Fri 11 15:07:44.108 RemoteConsole : Oville.d__12:MoveNext()
Fri 11 15:07:44.108 RemoteConsole : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
Fri 11 15:07:44.108 RemoteConsole : Oville.d__10:MoveNext()
Fri 11 15:07:44.108 RemoteConsole : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
Fri 11 15:07:44.108 RemoteConsole : Oville.Boot.d__8:MoveNext()
Fri 11 15:07:44.108 RemoteConsole : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
Fri 11 15:07:44.108 RemoteConsole :
Fri 11 15:07:44.108 RemoteConsole : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
Fri 11 15:07:44.108 RemoteConsole :
Fri 11 15:07:44.168 RemoteConsole : JSON URI:https://s3.us-east-2.amazonaws.com/cdn.ovilleworld.com/stage/iOS/201909253/json/manifest.manifest
Fri 11 15:07:44.168 RemoteConsole : Oville.d__15:MoveNext()
Fri 11 15:07:44.168 RemoteConsole : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
Fri 11 15:07:44.168 RemoteConsole : Oville.d__12:MoveNext()
Fri 11 15:07:44.168 RemoteConsole : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
Fri 11 15:07:44.168 RemoteConsole : Oville.d__10:MoveNext()
Fri 11 15:07:44.168 RemoteConsole : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
Fri 11 15:07:44.168 RemoteConsole : Oville.Boot.d__8:MoveNext()
Fri 11 15:07:44.168 RemoteConsole : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
Fri 11 15:07:44.168 RemoteConsole :
Fri 11 15:07:44.168 RemoteConsole : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
Fri 11 15:07:44.168 RemoteConsole : Fri 11 15:07:44.908 RemoteConsole : Uploading Crash Report
Fri 11 15:07:44.908 RemoteConsole : NotSupportedException: Encoding 437 data could not be found. Make sure you have correct international codeset assembly installed and enabled.
Fri 11 15:07:44.908 RemoteConsole : at System.Text.Encoding.GetEncoding (System.Int32 codepage) [0x00000] in <00000000000000000000000000000000>:0
Fri 11 15:07:44.908 RemoteConsole : at Ionic.Zip.ZipFile..cctor () [0x00000] in <00000000000000000000000000000000>:0
Fri 11 15:07:44.908 RemoteConsole : at Oville.Core.Utils.ZipTool.LoadAndUnpackZipfile (System.String filePath, System.String destinationPath) [0x00000] in <00000000000000000000000000000000>:0
Fri 11 15:07:44.908 RemoteConsole : at Oville.StaticDataServices+d__14.MoveNext () [0x00000] in <00000000000000000000000000000000>:0
Fri 11 15:07:44.908 RemoteConsole : at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00000] in <00000000000000000000000000000000>:0
Fri 11 15:07:44.908 RemoteConsole : Rethrow as TypeInitializationException: The type initializer for 'Ionic.Zip.ZipFile' threw an exception.
Fri 11 15:07:44.908 RemoteConsole : at Oville.Core.Utils.ZipTool.LoadAndUnpackZipfile (System.String filePath, System.String destinationPath) [0x00000] in <00000000000000000000000000000000>:0
Fri 11 15:07:44.908 RemoteConsole : at Oville.StaticDataServices+d__14.MoveNext () [0x00000] in <00000000000000000000000000000000>:0
Fri 11 15:07:44.908 RemoteConsole : at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00000] in <00000000000000000000000000000000>:0
Fri 11 15:07:44.908 RemoteConsole :
Fri 11 15:07:44.908 RemoteConsole : (Filename: currently not available on il2cpp Line: -1)
Fri 11 15:07:44.908 RemoteConsole : Ïõ8ÿ

Thanks for the help!

Best,

Noel

Escalated

Hi Noel,

The Ionic.Zip DLL that Bolt packages is configured to only be used in the editor for backup purposes, so it's excluded from builds. This is likely what is causing your error.

You can either restore your previous DLL and delete the Bolt DLL, or you can inspect the Bolt DLL and make sure you enable/include it on all platforms.

Let me know if that fixes your issue!

Hi Lazlo,

Thanks for replying. So I tried to remove my own dll and keep Bolt dll and enabled it on all platforms and included it in the build. But it doesn't work, it will cause errors like in the early post.

Meanwhile, I just tried to remove Bolt dll and here it the log for errors I got.

When I just removed Bolt dll, reopen Unity:

- Error: Could not load signature of Ludiq.BackupUtility+<>c__DisplayClass1_0:<BackupAssetsFolder>b__0 due to: Could not load file or assembly 'Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c' or one of its dependencies. assembly:Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c type:<unknown type> member:(null) signature:<none>

- Unloading broken assembly Assets/Ludiq/Assemblies/Ludiq.Core.Editor.dll, this assembly can cause crashes in the runtime


But I can install Bolt. After installation, Bolt seems able to work. I can create a flow graph and such and seems to work fine. However, once I run the game, it will break again and here is the log for errors:

- Assembly 'Assets/Ludiq/Assemblies/Bolt.Core.Editor.dll' will not be loaded due to errors:

 Reference has errors 'Ludiq.Core.Editor'.

- Assembly 'Assets/Ludiq/Assemblies/Bolt.Flow.Editor.dll' will not be loaded due to errors:

Reference has errors 'Ludiq.Core.Editor'.

- Assembly 'Assets/Ludiq/Assemblies/Bolt.State.Editor.dll' will not be loaded due to errors:

Reference has errors 'Ludiq.Core.Editor'.

- Assembly 'Assets/Ludiq/Assemblies/Ludiq.Core.Editor.dll' will not be loaded due to errors:

Unable to resolve reference 'Ionic.Zip'. Is the assembly missing or incompatible with the current platform?

Reference validation can be disabled in the Plugin Inspector.

- Assembly 'Assets/Ludiq/Assemblies/Ludiq.Graphs.Editor.dll' will not be loaded due to errors:

Reference has errors 'Ludiq.Core.Editor'.

Please let me know if there is any idea or fix for that.

Thanks,

Noel

Hi Noel,

You need at least one of the two DLLs for sure. You can't remove both.

It seems like your own DLL is of a newer version (1.9.1.9000) than Bolt's (1.9.1.8).

Can you try:

  1. Removing Bolt's DLL
  2. Keeping your own DLL
  3. Setting your own DLL to target all platforms

Hi Lazlo,

Thanks for replying and sorry for confusing you.

When I said "Meanwhile, I just tried to remove Bolt dll and here it the log for errors I got." I actually mean I removed Bolt dll but kept my own dll. So there is always one dll. But it still has the error.

Please let me know.

Thanks, 

Need More Information

Hi Noel,

Thanks for the precision. I looked at our Ionic.Zip reference and we actually don't specify a version number, so using your other DLL should work as long as it is also enabled for the editor platform.

Going forward, if that can't fix it, I'll need either:

  • clear reproduction steps from a blank project or
  • an existing project that has the issue sent to support@ludiq.io

Hey Lazlo,

Sorry for the late update. We fixed the problem by leaving both dll but set up the Bolt one for editor only and our own Ionic.zip for the rest of other platforms.