Search Unity

System.Security.dll IL2CPP error

Discussion in 'Web' started by Thelo, Mar 11, 2015.

  1. Thelo

    Thelo

    Joined:
    Sep 13, 2009
    Posts:
    98
    When building an (almost) empty project containing the file System.Security.dll as an asset for WebGL, the IL2CPP compiler errors out:


    IL2CPP error for method 'System.Void Mono.Security.Cryptography.NativeDapiProtection/DATA_BLOB::Free()' in assembly 'C:\Proj\SpinningCube-5\Temp\StagingArea\Data\Managed\System.Security.dll'
    Additional information: Build a development build for more information. Cannot get stack type for IntPtr​

    (Note: This says to build a development build even when I am building a development build.)

    Code (csharp):
    1.  
    2. Failed running C:\Program Files\Unity500f4\Editor\Data\il2cpp/il2cpp.exe --copy-level=None --enable-generic-sharing --enable-unity-event-support --enable-symbol-loading "C:\Proj\SpinningCube-5\Temp\StagingArea\Data\Managed\Assembly-CSharp.dll" "C:\Proj\SpinningCube-5\Temp\StagingArea\Data\Managed\UnityEngine.UI.dll" "C:\Proj\SpinningCube-5\Temp\StagingArea\Data\Managed\System.Security.dll" "C:\Proj\SpinningCube-5\Temp\StagingArea\Data\il2cppOutput"
    3.  
    4. stdout:
    5. IL2CPP error for method 'System.Void Mono.Security.Cryptography.NativeDapiProtection/DATA_BLOB::Free()' in assembly 'C:\Proj\SpinningCube-5\Temp\StagingArea\Data\Managed\System.Security.dll'
    6. Additional information: Build a development build for more information. Cannot get stack type for IntPtr
    7. stderr:
    8.  
    9. Unhandled Exception:
    10. System.InvalidOperationException: Cannot get stack type for IntPtr
    11.  
    12.   at Unity.IL2CPP.StackTypeConverter.StackTypeFor (Mono.Cecil.TypeReference type, ITypeProvider typeProvider) [0x00000] in <filename unknown>:0
    13.  
    14.   at Unity.IL2CPP.MethodBodyWriter.TypeForComparison (Signedness signedness, Mono.Cecil.TypeReference type) [0x00000] in <filename unknown>:0
    15.  
    16.   at Unity.IL2CPP.MethodBodyWriter.CastExpressionForOperandOfComparision (Signedness signedness, StackInfo left) [0x00000] in <filename unknown>:0
    17.  
    18.   at Unity.IL2CPP.MethodBodyWriter.ConditionalExpressionFor (System.String cppOperator, Signedness signedness) [0x00000] in <filename unknown>:0
    19.  
    20.   at Unity.IL2CPP.MethodBodyWriter.GenerateConditionalJump (Unity.IL2CPP.Common.CFG.InstructionBlock block, Mono.Cecil.Cil.Instruction ins, System.String cppOperator, Signedness signedness) [0x00000] in <filename unknown>:0
    21.  
    22.   at Unity.IL2CPP.MethodBodyWriter.ProcessInstruction (Unity.IL2CPP.Node node, Unity.IL2CPP.Common.CFG.InstructionBlock block, Mono.Cecil.Cil.Instruction ins) [0x00000] in <filename unknown>:0
    23.  
    24.   at Unity.IL2CPP.MethodBodyWriter.GenerateCodeRecursive (Unity.IL2CPP.Node node) [0x00000] in <filename unknown>:0
    25.  
    26.   at Unity.IL2CPP.MethodBodyWriter.Generate () [0x00000] in <filename unknown>:0
    27.  
    28.   at Unity.IL2CPP.MethodWriter.WriteMethodBody (Mono.Cecil.MethodReference method) [0x00000] in <filename unknown>:0
    29.  
    30.   at Unity.IL2CPP.MethodWriter.WriteMethod (Mono.Cecil.MethodReference method, MethodWriteMode mode) [0x00000] in <filename unknown>:0
    31.  
    32.   at Unity.IL2CPP.MethodWriter.WriteMethodAndWrappers (Mono.Cecil.MethodReference method, MethodWriteMode mode) [0x00000] in <filename unknown>:0
    33.  
    34.   at Unity.IL2CPP.MethodWriter.WriteMethodDefinitions (System.Func`2 filter) [0x00000] in <filename unknown>:0
    35.  
    36.   at Unity.IL2CPP.SourceWriter.WriteMethodDefinitionsFor (Unity.IL2CPP.CppCodeWriter writer, System.Func`2 filter, Mono.Cecil.TypeReference type, Unity.IL2CPP.Metadata.VTableBuilder vTableBuilder, Mono.Cecil.AssemblyDefinition mscorlib, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    37.  
    38.   at Unity.IL2CPP.SourceWriter.WriteSource (Unity.IL2CPP.CppCodeWriter writer, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, Mono.Cecil.TypeReference type, System.Collections.Generic.HashSet`1 emptyTypes, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    39.  
    40.   at Unity.IL2CPP.SourceWriter.WriteSourceFiles (System.String outputDirectory, System.String fileName, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, IEnumerable`1 typeList, System.Collections.Generic.HashSet`1 emptyTypes, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    41.  
    42.   at Unity.IL2CPP.SourceWriter.Write (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, System.String outputDir, Mono.Cecil.TypeDefinition[] typeList, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    43.  
    44.   at Unity.IL2CPP.AssemblyConverter.Convert (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics) [0x00000] in <filename unknown>:0
    45.  
    46.   at Unity.IL2CPP.AssemblyConverter.Apply () [0x00000] in <filename unknown>:0
    47.  
    48.   at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies (System.String[] assemblies, System.String outputDir) [0x00000] in <filename unknown>:0
    49. [ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidOperationException: Cannot get stack type for IntPtr
    50.  
    51.   at Unity.IL2CPP.StackTypeConverter.StackTypeFor (Mono.Cecil.TypeReference type, ITypeProvider typeProvider) [0x00000] in <filename unknown>:0
    52.  
    53.   at Unity.IL2CPP.MethodBodyWriter.TypeForComparison (Signedness signedness, Mono.Cecil.TypeReference type) [0x00000] in <filename unknown>:0
    54.  
    55.   at Unity.IL2CPP.MethodBodyWriter.CastExpressionForOperandOfComparision (Signedness signedness, StackInfo left) [0x00000] in <filename unknown>:0
    56.  
    57.   at Unity.IL2CPP.MethodBodyWriter.ConditionalExpressionFor (System.String cppOperator, Signedness signedness) [0x00000] in <filename unknown>:0
    58.  
    59.   at Unity.IL2CPP.MethodBodyWriter.GenerateConditionalJump (Unity.IL2CPP.Common.CFG.InstructionBlock block, Mono.Cecil.Cil.Instruction ins, System.String cppOperator, Signedness signedness) [0x00000] in <filename unknown>:0
    60.  
    61.   at Unity.IL2CPP.MethodBodyWriter.ProcessInstruction (Unity.IL2CPP.Node node, Unity.IL2CPP.Common.CFG.InstructionBlock block, Mono.Cecil.Cil.Instruction ins) [0x00000] in <filename unknown>:0
    62.  
    63.   at Unity.IL2CPP.MethodBodyWriter.GenerateCodeRecursive (Unity.IL2CPP.Node node) [0x00000] in <filename unknown>:0
    64.  
    65.   at Unity.IL2CPP.MethodBodyWriter.Generate () [0x00000] in <filename unknown>:0
    66.  
    67.   at Unity.IL2CPP.MethodWriter.WriteMethodBody (Mono.Cecil.MethodReference method) [0x00000] in <filename unknown>:0
    68.  
    69.   at Unity.IL2CPP.MethodWriter.WriteMethod (Mono.Cecil.MethodReference method, MethodWriteMode mode) [0x00000] in <filename unknown>:0
    70.  
    71.   at Unity.IL2CPP.MethodWriter.WriteMethodAndWrappers (Mono.Cecil.MethodReference method, MethodWriteMode mode) [0x00000] in <filename unknown>:0
    72.  
    73.   at Unity.IL2CPP.MethodWriter.WriteMethodDefinitions (System.Func`2 filter) [0x00000] in <filename unknown>:0
    74.  
    75.   at Unity.IL2CPP.SourceWriter.WriteMethodDefinitionsFor (Unity.IL2CPP.CppCodeWriter writer, System.Func`2 filter, Mono.Cecil.TypeReference type, Unity.IL2CPP.Metadata.VTableBuilder vTableBuilder, Mono.Cecil.AssemblyDefinition mscorlib, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    76.  
    77.   at Unity.IL2CPP.SourceWriter.WriteSource (Unity.IL2CPP.CppCodeWriter writer, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, Mono.Cecil.TypeReference type, System.Collections.Generic.HashSet`1 emptyTypes, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    78.  
    79.   at Unity.IL2CPP.SourceWriter.WriteSourceFiles (System.String outputDirectory, System.String fileName, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, IEnumerable`1 typeList, System.Collections.Generic.HashSet`1 emptyTypes, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    80.  
    81.   at Unity.IL2CPP.SourceWriter.Write (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, System.String outputDir, Mono.Cecil.TypeDefinition[] typeList, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    82.  
    83.   at Unity.IL2CPP.AssemblyConverter.Convert (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics) [0x00000] in <filename unknown>:0
    84.  
    85.   at Unity.IL2CPP.AssemblyConverter.Apply () [0x00000] in <filename unknown>:0
    86.  
    87.   at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies (System.String[] assemblies, System.String outputDir) [0x00000] in <filename unknown>:0
    88.  
    89. UnityEngine.Debug:LogError(Object)
    90. UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:66)
    91. UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(ICollection`1, String, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:404)
    92. UnityEditorInternal.IL2CPPBuilder:Run() (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:275)
    93. UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:218)
    94. UnityEditor.HostView:OnGUI()
    95.  

    Code (csharp):
    1.  
    2. Exception: C:\Program Files\Unity500f4\Editor\Data\il2cpp/il2cpp.exe did not run properly!
    3. UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:68)
    4. UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (ICollection`1 userAssemblies, System.String outputDirectory, System.String workingDirectory) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:404)
    5. UnityEditorInternal.IL2CPPBuilder.Run () (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:275)
    6. UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String stagingAreaData, IIl2CppPlatformProvider platformProvider, System.Action`1 modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:218)
    7. UnityEditor.WebGL.WebGlBuildPostprocessor.PostProcess (BuildPostProcessArgs args)
    8. UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, System.String downloadWebplayerUrl, System.String manualDownloadWebplayerUrl, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:316)
    9. UnityEditor.HostView:OnGUI()
    10.  

    Code (csharp):
    1.  
    2. Error building Player: Exception: C:\Program Files\Unity500f4\Editor\Data\il2cpp/il2cpp.exe did not run properly!
    3.  

    I'm attempting to port a webplayer game to WebGL and I do need to use some functions from System.Security. Is this a Unity bug that I should wait on Unity to fix, or something I can work around myself?