0
Cannot Reproduce

Export error for WebGl ( il2cpp, UnityLinker, Ludiq.AnimationCurveCloner)

microondes 2 years ago updated by Lazlo Bonin (Lead Developer) 2 years ago 7

Hello, I've got some errors when I build my project for WebGL (Bolt 1.3.0, Unity 2017.3.0f3, no errors when I build for PC) : 

Failed running D:\Software\Unity2017.3.0f3\Editor\Data\il2cpp/build/UnityLinker.exe --api=NET_2_0_Subset -out="D:\Projects\AllezVousEn\Temp\StagingArea\Data\Managed\tempStrip" -l=none -c=link --link-symbols -x="D:\Software\Unity2017.3.0f3\Editor\Data\PlaybackEngines\WebGLSupport\Whitelists\Core.xml" -f="D:\Software\Unity2017.3.0f3\Editor\Data\il2cpp\LinkerDescriptors" -x "D:\Projects\AllezVousEn/Temp/StagingArea/Data/methods_pointedto_by_uievents.xml" -x "D:\Projects\AllezVousEn/Temp/StagingArea/Data/UnityEngine.xml" -x "D:\Projects\AllezVousEn\Temp\StagingArea\Data\preserved_derived_types.xml" -x "D:\Projects\AllezVousEn\Assets\ExternalPackages\Ludiq\Ludiq.Core\Generated\link.xml" -d "D:\Projects\AllezVousEn\Temp\StagingArea\Data\Managed" -a  "D:\Projects\AllezVousEn\Temp\StagingArea\Data\Managed\Assembly-CSharp.dll" -a  "D:\Projects\AllezVousEn\Temp\StagingArea\Data\Managed\Bolt.Core.Runtime.dll" -a  "D:\Projects\AllezVousEn\Temp\StagingArea\Data\Managed\Bolt.Flow.Runtime.dll" -a  "D:\Projects\AllezVousEn\Temp\StagingArea\Data\Managed\Ludiq.Core.Runtime.dll"
stdout:
Fatal error in Unity CIL Linker
Mono.Linker.MarkException: Error processing method: 'System.Boolean Ludiq.AnimationCurveCloner::Handles(System.Type)' in assembly: 'Ludiq.Core.Runtime.dll' ---> System.ArgumentNullException: La valeur ne peut pas �tre null.
Nom du param�tre�: instruction
   � Mono.Cecil.Cil.InstructionOffset..ctor(Instruction instruction)
   � Mono.Cecil.Cil.CodeReader.ReadScope(ScopeDebugInformation scope)
   � Mono.Cecil.Cil.CodeReader.ReadScopes(Collection`1 scopes)
   � Mono.Cecil.Cil.CodeReader.ReadScope(ScopeDebugInformation scope)
   � Mono.Cecil.Cil.CodeReader.ReadDebugInfo()
   � Mono.Cecil.Cil.CodeReader.ReadMethodBody()
   � Mono.Cecil.Cil.CodeReader.ReadMethodBody(MethodDefinition method)
   � Mono.Cecil.MethodDefinition.<>c.<get_Body>b__41_0(MethodDefinition method, MetadataReader reader)
   � Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TRet& variable, TItem item, Func`3 read)
   � Mono.Cecil.MethodDefinition.get_Body()
   � Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
   � UnityLinker.Steps.UnityMarkStep.ProcessMethod(MethodDefinition method)
   � Mono.Linker.Steps.MarkStep.ProcessQueue()
   --- Fin de la trace de la pile d'exception interne ---
   � Mono.Linker.Steps.MarkStep.ProcessQueue()
   � Mono.Linker.Steps.MarkStep.ProcessEntireQueue()
   � Mono.Linker.Steps.MarkStep.Process()
   � UnityLinker.Steps.UnityMarkStep.Process(LinkContext context)
   � Mono.Linker.Pipeline.Process(LinkContext context)
   � UnityLinker.UnityDriver.Run()
   � UnityLinker.UnityDriver.RunDriver()
stderr: UnityEngine.Debug:LogError(Object)
UnityEditorInternal.Runner:RunProgram(Program, String, String, String, CompilerOutputParserBase) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:128)
UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase, Action`1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:73)
UnityEditorInternal.AssemblyStripper:RunAssemblyLinker(IEnumerable`1, String&, String&, String, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:89)
UnityEditorInternal.AssemblyStripper:StripAssembliesTo(String[], String[], String, String, String&, String&, String, IIl2CppPlatformProvider, IEnumerable`1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:82)
UnityEditorInternal.AssemblyStripper:RunAssemblyStripper(String, IEnumerable, String, String[], String[], String, IIl2CppPlatformProvider, RuntimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:204)
UnityEditorInternal.AssemblyStripper:StripAssemblies(String, IIl2CppPlatformProvider, RuntimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:114)
UnityEditorInternal.IL2CPPBuilder:Run() (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:152)
UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry, Boolean) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:41)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Thank you

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

Maybe this will help you? Just saw it yesterday when I had problem building for iOS. Seems to mention WebGL also.
https://support.ludiq.io/knowledge-bases/4/articles/161-building-for-aot-platforms

Pending Review

I haven't seen this error before, but it seems related to the Unity linker.

Can you try:

  • Running Tools > Ludiq > AOT Pre-Build before building
  • Setting your API compatibility level to .NET 2.0 instead of .NET 2.0 Subset
  • Looking at this thread

Thank you guys for the quick answers !

AOT Pre-Build was done for my first attempt, so it wasn't the issue, and setting Net 2.0 did'nt resolved it neither...

I tried deleting the linker.xml from Ludiq folder but it didn't do anything. I am currently trying random player settings, i get back to you if I find something !

What about the null exeption in AnimationCurve ?

Thank you


Edit : Still not found a solution, if you have an idea, i'd be glad to ear it !

Hi,
Can I bake my script to run without Bolt inegrated ?

Thanks

I'm still not sure what is causing this issue. Can you send me a minimal project that reproduces it in a private ticket?

And no, Bolt can't generate C# scripts (yet, it's planned for v.2.0).