0
Not a bug

il2cpp error

dgcrt 10 months ago in realvirtual.io Starter and Professional updated by Support 10 months ago 7

Good morning,

We purchased the professional package but we can't run the builds in webgl, we have the following error.

How can we solve it?

We have tried various versions of unity, currently we use 2021.3.24f1.

Thank you,

G.D.

C:\Program Files\Unity\Hub\Editor\2021.3.24f1\Editor\Data\il2cpp\build\deploy\il2cpp.exe --convert-to-cpp --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/EasyModbus.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/endel.nativewebsocket.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.base.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.cadlink.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.ik.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.interfaces.abbrobotstudio.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.interfaces.mqtt.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.interfaces.opocua.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.interfaces.plcsimadvanced.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.interfaces.s7tcpip.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.interfaces.sharedmemory.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.interfaces.twincatads.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.parts4cad.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.spacenavigator.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.TwinCATHMIClient.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.visualscripting.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/I18N.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/I18N.West.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/ikcalculator.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/Ionic.Zip.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/MathNet.Numerics.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/Mono.Security.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/mscorlib.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/NaughtyAttributes.Core.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/Sharp7.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/System.Configuration.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/System.Core.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/System.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/System.Numerics.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/System.Runtime.Serialization.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/System.Windows.Forms.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/System.Xml.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/System.Xml.Linq.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/TwinCAT.Ads.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.AnimationModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.AudioModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.CoreModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.GridModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.IMGUIModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.InputLegacyModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.ParticleSystemModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.Physics2DModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.PhysicsModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.SharedInternalsModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.SpriteShapeModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.TerrainModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.TextCoreFontEngineModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.TextCoreTextEngineModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.TextRenderingModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.TilemapModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.UI.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.UIElementsModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.UIElementsNativeModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.UIModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.WindModule.dll --data-folder=C:/Users/GD/tre/Library/Bee/artifacts/WebGL/il2cppOutput/data --generatedcppdir=C:/Users/GD/tre/Library/Bee/artifacts/WebGL/il2cppOutput/cpp --enable-analytics --emit-method-map --dotnetprofile=unityaot-linux --profiler-report --profiler-output-file=C:/Users/GD/tre/Library/Bee/artifacts/il2cpp_conv_bs0c.traceevents --print-command-line
Error: IL2CPP error (no further information about what managed code was being converted is available)
System.AggregateException: One or more errors occurred. (The given key 'nop' was not present in the dictionary.)
---> System.Collections.Generic.KeyNotFoundException: The given key 'nop' was not present in the dictionary.
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Unity.IL2CPP.DataModel.Instruction..ctor(Instruction instruction)
at Unity.IL2CPP.DataModel.BuildLogic.Populaters.MethodBodyPopulator.CreateInstructions(CecilSourcedAssemblyData assemblyDef, MethodDefinition method, MethodDefinition source, ReadOnlyCollection`1 variables, Dictionary`2& instructionMap)
at Unity.IL2CPP.DataModel.BuildLogic.Populaters.MethodBodyPopulator.PopulateMethodBody(CecilSourcedAssemblyData assemblyData, MethodDefinition method, MethodDefinition source)
at Unity.IL2CPP.DataModel.BuildLogic.Populaters.DefinitionPopulater.PopulateMethodDefs(CecilSourcedAssemblyData assemblyData, TypeDefinition typeDef)
at Unity.IL2CPP.DataModel.BuildLogic.Populaters.DefinitionPopulater.PopulateTypeDef(TypeContext context, UnderConstructionMember`2 type)
at Unity.IL2CPP.DataModel.BuildLogic.DataModelBuilder.<PopulateCecilSourcedDefinitions>b__13_1(UnderConstructionMember`2 typeDef)
at System.Threading.Tasks.Parallel.<>c__DisplayClass44_0`2.<PartitionerForEachWorker>b__1(IEnumerator& partitionState, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Parallel.<>c__DisplayClass44_0`2.<PartitionerForEachWorker>b__1(IEnumerator& partitionState, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
at System.Threading.Tasks.TaskReplicator.Replica`1.ExecuteAction(Boolean& yieldedBeforeCompletion)
at System.Threading.Tasks.TaskReplicator.Replica.Execute()
--- End of inner exception stack trace ---
at System.Threading.Tasks.TaskReplicator.Run[TState](ReplicatableUserAction`1 action, ParallelOptions options, Boolean stopOnFirstFailure)
at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner`1 source, ParallelOptions parallelOptions, Action`1 simpleBody, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Parallel.ThrowSingleCancellationExceptionOrOtherException(ICollection exceptions, CancellationToken cancelToken, Exception otherException)
at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner`1 source, ParallelOptions parallelOptions, Action`1 simpleBody, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body)
at Unity.IL2CPP.DataModel.BuildLogic.Utils.ParallelHelpers.ForEach[TSource](IEnumerable`1 source, Action`1 func, Boolean enableSerial)
at Unity.IL2CPP.DataModel.BuildLogic.DataModelBuilder.PopulateCecilSourcedDefinitions(ReadOnlyCollection`1 assemblyData)
at Unity.IL2CPP.DataModel.BuildLogic.DataModelBuilder.Build()

Answer

Answer

For the moment not but we are working on a solution to manage this via assembly definitions - we think this should do the job. But it will take 3-4 weeks until we will release that.

Not a bug

Hi, you would need to delete some folders because mainly some interfaces are not working with IL2CPP and WebGL.

Please check the table here for knowing in detail what to delete:

https://doc.realvirtual.io/advanced-topics/supported-platforms

Thanks for the answer, so we can't use any interface with builds in webgl? Are there no other ways to use interfaces and publish to web server?

Hi, with WebGL you can only use Websocket based interfaces. This is a limitation by the Web standard and browsers and there is no way around that. This is why currently only a TwinCAT WebGL based interface is running with WebGL. All other PLC interfaces use different communication standards and don't work on WebGL.

Thank you for your response,

I deleted the described folders but I still have these problems:


C:\Program Files\Unity\Hub\Editor\2021.3.24f1\Editor\Data\il2cpp\build\deploy\il2cpp.exe --convert-to-cpp --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.base.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.ik.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/game4automation.visualscripting.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/I18N.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/I18N.West.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/ikcalculator.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/Ionic.Zip.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/MathNet.Numerics.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/Mono.Security.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/mscorlib.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/NaughtyAttributes.Core.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/System.Configuration.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/System.Core.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/System.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/System.Numerics.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/System.Runtime.Serialization.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/System.Xml.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.AnimationModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.AudioModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.CoreModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.GridModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.IMGUIModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.InputLegacyModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.ParticleSystemModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.Physics2DModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.PhysicsModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.SharedInternalsModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.SpriteShapeModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.TerrainModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.TextCoreFontEngineModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.TextCoreTextEngineModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.TextRenderingModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.TilemapModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.UI.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.UIElementsModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.UIElementsNativeModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.UIModule.dll --assembly=Library/Bee/artifacts/WebGL/ManagedStripped/UnityEngine.WindModule.dll --data-folder=C:/Users/GD/RVP/Library/Bee/artifacts/WebGL/il2cppOutput/data --generatedcppdir=C:/Users/GD/RVP/Library/Bee/artifacts/WebGL/il2cppOutput/cpp --enable-analytics --emit-method-map --dotnetprofile=unityaot-linux --profiler-report --profiler-output-file=C:/Users/GD/RVP/Library/Bee/artifacts/il2cpp_conv_uaux.traceevents --print-command-line
Error: IL2CPP error (no further information about what managed code was being converted is available)
System.AggregateException: One or more errors occurred. (The given key 'nop' was not present in the dictionary.)
---> System.Collections.Generic.KeyNotFoundException: The given key 'nop' was not present in the dictionary.
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Unity.IL2CPP.DataModel.Instruction..ctor(Instruction instruction)
at Unity.IL2CPP.DataModel.BuildLogic.Populaters.MethodBodyPopulator.CreateInstructions(CecilSourcedAssemblyData assemblyDef, MethodDefinition method, MethodDefinition source, ReadOnlyCollection`1 variables, Dictionary`2& instructionMap)
at Unity.IL2CPP.DataModel.BuildLogic.Populaters.MethodBodyPopulator.PopulateMethodBody(CecilSourcedAssemblyData assemblyData, MethodDefinition method, MethodDefinition source)
at Unity.IL2CPP.DataModel.BuildLogic.Populaters.DefinitionPopulater.PopulateMethodDefs(CecilSourcedAssemblyData assemblyData, TypeDefinition typeDef)
at Unity.IL2CPP.DataModel.BuildLogic.Populaters.DefinitionPopulater.PopulateTypeDef(TypeContext context, UnderConstructionMember`2 type)
at Unity.IL2CPP.DataModel.BuildLogic.DataModelBuilder.b__13_1(UnderConstructionMember`2 typeDef)
at System.Threading.Tasks.Parallel.<>c__DisplayClass44_0`2.b__1(IEnumerator& partitionState, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Parallel.<>c__DisplayClass44_0`2.b__1(IEnumerator& partitionState, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
at System.Threading.Tasks.TaskReplicator.Replica`1.ExecuteAction(Boolean& yieldedBeforeCompletion)
at System.Threading.Tasks.TaskReplicator.Replica.Execute()
--- End of inner exception stack trace ---
at System.Threading.Tasks.TaskReplicator.Run[TState](ReplicatableUserAction`1 action, ParallelOptions options, Boolean stopOnFirstFailure)
at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner`1 source, ParallelOptions parallelOptions, Action`1 simpleBody, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Parallel.ThrowSingleCancellationExceptionOrOtherException(ICollection exceptions, CancellationToken cancelToken, Exception otherException)
at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner`1 source, ParallelOptions parallelOptions, Action`1 simpleBody, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body)
at Unity.IL2CPP.DataModel.BuildLogic.Utils.ParallelHelpers.ForEach[TSource](IEnumerable`1 source, Action`1 func, Boolean enableSerial)
at Unity.IL2CPP.DataModel.BuildLogic.DataModelBuilder.PopulateCecilSourcedDefinitions(ReadOnlyCollection`1 assemblyData)
at Unity.IL2CPP.DataModel.BuildLogic.DataModelBuilder.Build()
at Unity.IL2CPP.Contexts.Components.DataModelComponent.Load(LoadSettings loadSettings, Boolean ownsTypeContext, Boolean ownsBuilder, DataModelBuilder& builder)
at Unity.IL2CPP.AssemblyConversion.Phases.InitializePhase.Run(AssemblyConversionContext context)
at Unity.IL2CPP.AssemblyConversion.Classic.ClassicConverter.Run(AssemblyConversionContext context)
at Unity.IL2CPP.AssemblyConversion.AssemblyConverter.ConvertAssemblies(AssemblyConversionInputData data, AssemblyConversionParameters parameters, AssemblyConversionInputDataForTopLevelAccess dataForTopLevel)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

AND

BuildFailedException: Incremental Player build failed!
UnityEditor.Modules.BeeBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at :0)
UnityEditor.WebGL.WebGlBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at /Users/bokken/build/output/unity/unity/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:179)
UnityEditor.Modules.DefaultBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at :0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.Int32 subtarget, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at :0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)



Instead i can build in WEBGL with the twin starter edition

Hi,
try deleting the inverse kinematics (folder IK) in the Professional folder. This may also have problems with WebGL. Please let us know if this solves the problem.

Regards Christin

Thank you, now I can do webgl build.

Since I have to do both windows and webgl builds, is there a quick way to hide them in unity instead of deleting them?

Answer

For the moment not but we are working on a solution to manage this via assembly definitions - we think this should do the job. But it will take 3-4 weeks until we will release that.